正在加载...

字符串方法

plant.Length 统计 plant 已经保存的字母。string plant = "leaf"; 仍然存放 leaf,而 Console.WriteLine(plant.Length) 写出 4。字母仍是 leaf。它们不会变成那个数字。名字后面的点就是提问,写出行显示答案。公共类名保持为 Pine。你不会再次安装 SDK。

点号询问有多少字母

打开 Pine 文件。类名仍是 Pine。本页不会给类型改名。上一页保留了 string plant = "leaf"; 和一行写出 leaf 的写出行。本页继续保留那条存放行。若还有 int 行就删掉。删掉任何 ReadLine 行。你保留的文件没有等待,也没有整数行。计数只由提出问题的写出行写出。

在 Main 里,存放行仍是 string plant = "leaf";。string 是种类词。plant 是名字。引号里是 l、e、a、f,全是小写。那一行存放字母。它不提问,也不写屏幕。提问是字母存好之后的额外工作。在名字后面写一个点,再写单词 Length。在 C# 里,Length 后面没有括号。整个提问是 plant.Length。点把提问连到名字上。Length 是表示「多少」的词。提问不等于存放。名字里的字母仍是 leaf。提问不会拿走引号,也不会把数字 4 放进名字 plant。

你保留的文件先写出字母,再提出问题。第一条写出行是裸名字:Console.WriteLine(plant);。没有引号,也没有点。它写出 leaf 并结束该行。第二条写出行是提问:Console.WriteLine(plant.Length);。Length 外面没有引号。C# 读取名字 plant,统计该名字保存的字母,写出那个计数,并结束该行。对你保留的文件,计数是 4。屏幕上没有引号标记。屏幕上没有单词 Length。屏幕上也没有名字本身的字母。保存文件。

你保留的文件

保持这种教学形状。一条存放行,string plant = "leaf";。一条写出字母的行。一条写出计数的行。计数行是 WriteLine 里的 plant.Length。没有别的内容。

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant);
        Console.WriteLine(plant.Length);
    }
}

从顶部读起。using System; 准备短名字。public class Pine 给类型命名。public static void Main() 是 runtime 开始的地方。存放行是 string plant = "leaf";。它存放四个字母。什么也不写出。Console.WriteLine(plant); 写出 leaf 并结束该行。Console.WriteLine(plant.Length); 写出 4 并结束该行。屏幕上两行。第一行是字母。第二行是计数。引号留在文件里、包着 leaf,两条屏幕行上都没有它们。

用 dotnet run 运行。程序写出 leaf,然后在下一行写出 4。它不会等你键入。字母已经在文件里,计数根据那些字母作答。若 dotnet run 在等待,说明文件里还有 ReadLine。删掉那一行,保留存放行和两条写出行。屏幕显示 leaf,然后是 4。若屏幕只显示 leaf,说明缺少第二条写出行。若屏幕只显示 4,说明缺少第一条写出行。若屏幕先显示 4 再显示 leaf,说明两条写出行对调了。屏幕行不对时,你不会重新安装 .NET SDK。

Length 与一个位置

把两个提问分清楚。

📊 String question habits for plant

Question Needs Screen for leaf
plant.Length no parentheses 4
plant[0] place 0 inside brackets l
plant[1] place 1 inside brackets e
plant.Length() parentheses after Length build writes an error

空格算作一个

引号之间的字母可以改,计数会跟着那些字母走。在第一个提问之下,用同一个名字存放新的一组字母,再问一次。新的存放行是 plant = "leaf stem";。它不以 string 开头。引号之间有九个位置:l、e、a、f、一个空格、s、t、e、m。空格是其中之一。Length 会把它计入。这个第二份文件不写出字母。它只写出两个计数,这样屏幕就不会和字母本身混淆。

这是第二份文件。不是你保留的那份。你保留的文件有一条存放行、字母 leaf、没有空格,屏幕是 leaf 然后 4。想看空格如何被计入时用这第二种形状,然后把保留的文件放回去。

a space counted by Length

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant.Length);
        plant = "leaf stem";
        Console.WriteLine(plant.Length);
    }
}

运行 dotnet run。屏幕显示 4,下一行是 9。两行。没有引号标记。字母 leaf 不在屏幕上。只有计数。若第二行是 8,说明引号之间少了空格,存放的字母是 leafstem。若两行都是 4,说明缺少第二条存放行,或者它仍写着 "leaf"。不要对同一个名字再写一次 string。名字只创建一次。后面的行只改它所保存的字母,或就那些字母提问。

哪个字母坐在某个位置

Length 问有多少。另一个提问问某个位置上坐着哪个字母。位置写在名字后面的方括号里。第一个位置是 0,不是 1。对 leaf 来说,位置 0 是 l,位置 1 是 e,位置 2 是 a,位置 3 是 f。plant[0] 用单个字母 l 作答。plant[1] 用单个字母 e 作答。答案是一个字母,不是整个词 leaf,也不是位置数字本身。plant 里存放的字母仍是 leaf。

这是第三份文件。不是你保留的那份。你保留的文件问 Length,屏幕是 leaf 然后 4。想看位置时用这第三种形状,然后把保留的文件放回去。

the first two places

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant[0]);
        Console.WriteLine(plant[1]);
    }
}

运行 dotnet run。屏幕显示 l,下一行是 e。两行。没有引号标记。词 leaf 不在屏幕上。数字 0 和 1 也不在屏幕上。若第一行是 e,说明第一个提问问的是位置 1,也就是第二个字母。第一个字母是位置 0。位置 4 不是 leaf 里的字母。存在的位置是 0、1、2 和 3。写出行用 plant[4] 可能通过 build,但程序运行时会失败。若你仍想要那两行,把 plant[0] 和 plant[1] 放回去,完成后把保留的文件放回去。

Length 不带括号

在 C# 里,Length 不能写成空括号对。行 Console.WriteLine(plant.Length()); 在 Length 后面放了 ()。build 会写出错误。它不会保持安静。build 在报错时,没有可信任的屏幕。修复办法是删掉括号,使该行成为 Console.WriteLine(plant.Length);。把残留的 Java length() 习惯映射到本页的 C# 词 Length,且不带括号。

这第四份文件是括号错误。不是你保留的那份。只保留到 build 写出错误为止,然后把不带括号的 plant.Length 放回去。

Length written with parentheses

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant.Length());
    }
}

屏幕显示答案,字母仍留下

你现在可以问一个名字已经保存了多少字母,以及从 0 开始的某个位置上坐着哪个字母。string plant = "leaf"; 仍然存放 leaf。Console.WriteLine(plant); 写出 leaf。Console.WriteLine(plant.Length); 写出 4,字母仍是 leaf。之后 plant = "leaf stem"; 会让下一次计数变成 9,因为空格算作一个。plant[0] 写出 l,plant[1] 写出 e。带括号的 Length() 会让 build 写出错误。下一页离开这些问题。它停在像本次计数写出的 4 那样的整数上,而那个数又是你再次写进文件的数。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
6
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部