正在加载...

输出

改引号之间的词,屏幕就跟着改。教学类型仍是 Pine,写出调用仍是 Console.WriteLine。上一页引号里是 pine,所以屏幕是 pine。在同一对引号之间放上另一个词,再加一条写出行,然后看写出行不结束该行时屏幕会怎样。你不会再次安装 SDK。上一页的备注不在这个演示里,除非你自己把它们加回来。

引号之间的词

打开 Pine 文件,找到 Console.WriteLine("pine");。屏幕显示引号之间的词。引号本身不是给屏幕的字母。它们标出那个词从哪里开始、到哪里结束。改那个词。行的其余部分保持原样:Console.WriteLine 留下,开引号留下,闭引号留下,分号留下。只改引号之间的字母。文件里原来是 pine 的地方,写成 leaf,全用小写。这一行现在是 Console.WriteLine("leaf");。保存文件。类名仍是 Pine,因为 public class Pine 这一行仍在给类型起名。本页不重命名类型。

你保留的文件

保留这个教学形状。它只有一条写出行,那一行的引号之间是 leaf。这个文件里没有备注。还没有第二条写出行。

the file you keep

csharp
using System;

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

从上往下读,判断屏幕能接到什么。using System; 这一行准备短名称,不写出屏幕。类行是 public class Pine。那一行给类型起名。它不写出屏幕。下一行是 public static void Main()。runtime 从这里开始。那些词都不是给屏幕的字母。在 Main 里面有一条命令:Console.WriteLine("leaf");。Console.WriteLine 是写出命令。引号里是 leaf。分号结束命令。runtime 运行那条命令,因为它在 Main 里面,而且不在 // 后面。屏幕接到 leaf。它接不到引号、分号、词 Console 或词 Main。

在项目文件夹里用 dotnet run 运行。屏幕显示 leaf。一行。没有引号。没有分号。词 pine 不在屏幕上,因为 pine 已不在引号之间。如果屏幕仍显示 pine,引号里仍是 pine。再次运行之前,先看引号之间的字母。你不会为仍显示 pine 的屏幕重新安装 .NET SDK。

屏幕按原样复制引号之间的字母。Console.WriteLine("Leaf"); 写出带大写 L 的 Leaf。Console.WriteLine("leaf"); 写出带小写 l 的 leaf。你保留的文件用小写 l,所以它的屏幕是 leaf,不是 Leaf。空格也是屏幕能显示的字母——如果你把空格打在引号里面。Console.WriteLine("leaf stem"); 写出一行 leaf stem,带着你放在两个词之间的那个空格。引号仍不会出现。这是一条写出行,所以是一行屏幕,即便里面有两个词。空的一对引号则不同。Console.WriteLine(""); 写出一行没有字母的行,然后结束该行。屏幕看起来空白。命令确实运行了。引号里只是什么都没有。那一行空白不是你保留的文件。你保留的文件里是 leaf。

第二行

一条写出行给出一行屏幕。第二行屏幕需要第二条写出行。在 Console.WriteLine("leaf"); 下面加上 Console.WriteLine("stem");。每条命令有自己的引号和自己的分号。leaf 留在第一对引号里。stem 全用小写,放进第二对。runtime 运行第一条命令,结束该行,再运行第二条命令并也结束该行。屏幕顺序就是文件顺序。你先写的那条命令,就是屏幕先显示的那一行。

这是第二个文件。你在看两行屏幕。你之前保留的文件只有一条写出行,屏幕是 leaf。这个有两条写出行。想看这个屏幕时就用它;若想回到本页保留的文件,再把单条写出行放回去。

two lines, leaf then stem

csharp
using System;

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

运行 dotnet run。屏幕显示 leaf,下一行屏幕是 stem。两行。leaf 在上面,因为 Console.WriteLine("leaf"); 是第一条写出命令。stem 在下面,因为 Console.WriteLine("stem"); 是第二条。两行上都没有引号。如果 stem 在上、leaf 在下,文件里的两条写出行就是那个对调后的顺序。屏幕不会自己选顺序。把 stem 命令移回 leaf 命令下面,保存,再运行。要得到第二行,你不需要新的命令种类。你需要第二个 Console.WriteLine,带有它自己引号之间的那个词。

Write 不结束该行

看你一直在用的写出命令的末尾。WriteLine 以字母 Line 结尾。那些字母就是行尾。命令写出引号之间的字母,然后结束该行,所以下一条写出命令从新的一行开始。Write 是同一个写出助手,只是没有那些字母。Console.Write("leaf"); 写出 leaf 且不结束该行。下一个 Console.Write 从那个词停下的地方开始。命令里没有任何东西替你插入空格。如果第一对引号是 leaf、第二对是 stem,且哪一对里都没有空格,屏幕就显示一行 leafstem。

这是第三个文件。它不是你保留的文件。保留到你看见单行 leafstem 为止。两条命令都是 Write,不是 WriteLine。任何一对引号里都没有空格。

one line, leafstem

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.Write("leaf");
        Console.Write("stem");
    }
}

运行 dotnet run。屏幕显示 leafstem。一行。leaf 与 stem 之间没有空格。没有引号。leaf 仍在前,因为 Console.Write("leaf"); 是第一条命令;stem 粘在后面,因为 Console.Write("stem"); 不开始新行。如果你看到 leaf,然后第二行才是 stem,文件里的命令是 WriteLine,不是 Write。字母 Line 仍在命令上,所以每条命令都结束了自己的行。若你要的屏幕是单个词 leafstem,就把两条命令上的 Line 都去掉。

程序写出 leafstem,并且在没有结束该行的情况下结束。终端可能在同一行、在 leafstem 后面画出它自己的提示符。提示符属于终端。它不是 Pine 文件里的词,也不是你在检查的那一行的一部分。检查引号之间的字母:leafstem。不要去对齐提示符。Windows 和 macOS 画出的提示符不同,本页不教那些提示符。程序的那一行在两边都一样:leafstem,后面没有行尾。

空格必须在引号里面

如果你想在同一行上有空格,空格必须是引号之间的字母之一。写出命令不会替你造出来。把第一条命令改成 Console.Write("leaf ");,在 f 后面、仍在引号里面加一个空格。第二条命令保持 Console.Write("stem");。C# 先写出 leaf,再写出你放在 f 后面的空格,再写出 stem,并且仍不结束该行。屏幕显示 leaf stem。你看到的空格就是第一对引号里的那个空格。打在引号外面、两条命令之间的空格,只是文件里的空隙。它不是给屏幕的字母。你可以把两条命令拆到文件的两行上,或在它们之间放一空行,屏幕仍是一行。文件里的换行不是屏幕上的行尾。只有带行尾的命令 WriteLine 才会结束一行屏幕。Write 永远不会,无论文件在它周围怎样留空。

去掉引号的错误

屏幕显示的词必须坐在引号之间。错误做法是删掉引号,留下裸词:Console.WriteLine(leaf);。没有引号的 leaf 不是给屏幕的词。C# 把它读成一个名字,而这个文件里还没有那个名字。下一页讲名字。本页停在引号上。这个第四个形状只保留到你看见构建不再安静为止,然后把引号加回去。这不是你保留的文件。

the quotes removed

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine(leaf);
    }
}

运行 dotnet run 或构建项目。这一次编译器写出错误。它不会保持安静。文件不正常,因为 leaf 没有引号,在这个文件里也还没有含义。你不需要那条错误的原句。有用的事实是:构建居然写出了一行。当构建写出错误时,在文件再次正常之前,不要相信新的屏幕。把引号加回去,让这一行重新变成 Console.WriteLine("leaf");。保存。再运行。现在构建足够安静可以运行,屏幕显示 leaf。引号就是全部修复。你不会重新安装 SDK,也不会删掉写出行。去掉引号的写出行不是备注造成的空白屏幕。备注会让构建保持安静。这个错误让编译器开口。把残留的 Java System.out.println 习惯在这里对应到 Console.WriteLine,把 System.out.print 对应到 Console.Write。不要在本页发明 ASP.NET 路由。

屏幕就是带引号的词

现在你可以通过改引号之间的字母来改屏幕。Console.WriteLine("leaf"); 写出 leaf 并结束该行。第二个 Console.WriteLine 按你在文件里写命令的顺序写出下一行。Console.Write 写出它的字母且不结束该行,所以随后的 Write 在同一行继续,空格只有在你放进引号里时才会出现。如果构建在裸词上写出错误,就是缺了引号。看完 leafstem 之后,把文件改回你保留的那份。你保留的文件里的写出行是 Console.WriteLine("leaf");,没有第二条写出行。下一页给一个词起名字,这样写出行可以用那个名字,而不只是带引号的词。

🧠 测试您的知识

准备开始

测试您的知识

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

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

📝 说明

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