if 和 else
bool ready = true; 保存单词 true。接着 if (ready) 查看该单词,并只运行一组语句。当 ready 为 true 时,Console.WriteLine("pass") 写出 pass。当 ready 为 false 时,运行 else 那一组并写出 wait。屏幕只有一行。请保留公共类名 Pine。
一个 bool 决定运行哪一块
打开 Pine 文件。类名保持 Pine。本页不重命名类型。若仍有 bool both 行,请删掉,包括 true && true、true || false、!true,以及两个 true 或 false 之间的任何组合符号。若仍有 bool match 请删。若仍有 int total 请删。删掉任何 ReadLine 行。你保留的文件不等待输入,没有 both,没有 match,也没有单独写出一个组合后的裸单词。屏幕只由所选花括号里的写出语句写出。
在 Main 里,先保存一个 bool 再选路径:bool ready = true;。bool 是类型词。ready 是名称,以小写 r 开头。true 两侧没有引号。分号结束保存行。该行不写屏幕。接着才是选择:
if (ready) {
Console.WriteLine("pass");
} else {
Console.WriteLine("wait");
}
单词 if 全小写:先是 i,再是 f。它不是你自己发明的名字。if 后面可以有空格;写成 if(ready) 无空格也能 build。括号里是名称 ready——无引号、无 ==、无 &&。当 ready 保存的是 true 时,C# 进入第一对花括号,运行 Console.WriteLine("pass");。pass 两侧的引号标出要上屏的字母。你应看到的就是这些字母——p、a、s、s——一行。这次运行完全跳过 else 块。请保存文件。
你保留的文件
保持这种教学形状。一个类型词 bool。一个名称 ready,保存为 true。一个 if,括号里是 ready。一条写出语句在第一对花括号里写出 pass。一个 else,写出语句写出 wait。没有 both 行,没有 match 行,也不在花括号外单独写出裸单词 true。
using System;
public class Pine
{
public static void Main()
{
bool ready = true;
if (ready)
{
Console.WriteLine("pass");
}
else
{
Console.WriteLine("wait");
}
}
}
从上往下读。using System; 准备短名。public class Pine 命名类型。public static void Main() 是运行时入口。bool ready = true; 保存 true,不写屏幕。if (ready) 询问该保存的单词是否为 true。是,于是运行 Console.WriteLine("pass");。else 的花括号被跳过。屏幕一行:pass。无引号,无第二行。你保留的文件里没有 bool both 行。
用 dotnet run 运行。程序写出 pass。它不等你输入。保存的单词和选择已经写在文件里。若 dotnet run 卡住,说明还有 ReadLine,删掉它,保留 bool ready = true; 以及上面的 if / else。程序在所选写出语句之后结束。屏幕显示 pass,一行。若屏幕是 true,说明你仍在写出那个 bool 本身,或逻辑页的组合仍留在 Main 里。当 ready 为 true 时,把它换成花括号里的 Console.WriteLine("pass")。若屏幕是 wait,说明 ready 为 false——那是本页第二个文件,不是你保留的文件。若屏幕是字母 if (ready),说明写出语句给这些字符加了引号。不要因为屏幕行不对就重装 .NET SDK。
为什么是 pass 而不是 wait?因为括号里的测试是 true。这次运行 C# 不会写出单词 true。它写出所选花括号里实际运行的那条写出语句。想成三件工作:括号保留测试,花括号把同属一条路径的语句分组,只有 Console.WriteLine 才写屏幕。屏幕显示 pass 本身不能证明用了 if。请在文件里找 if (ready) 和花括号。不要只凭屏幕评判文件。
当 ready 为 false 时
只改保存的值:bool ready = false;。if / else 结构保持不变。现在测试失败,于是 C# 跳过第一对花括号,改为运行 else 的花括号。屏幕应显示 wait,一行。
using System;
public class Pine
{
public static void Main()
{
bool ready = false;
if (ready)
{
Console.WriteLine("pass");
}
else
{
Console.WriteLine("wait");
}
}
}
这是第二个文件,不是你保留的文件。运行 dotnet run。屏幕显示 wait,一行。不显示 pass。除非你故意写出,否则也不会把 false 当作屏幕上的单词。若屏幕是 pass,说明你仍在保留文件上,那里 ready 为 true。看过 wait 之后,改回保留文件:bool ready = true;,以及在 true 路径写出 pass 的同一套 if / else。两个版本都是合法 C#。它们用相反的测试教同一套 if / else 形状。
再按顺序读一遍 false 这次运行。ready 保存 false。询问 if (ready)。答案是 false,于是第一个 { 到匹配 } 之间的每一行都被跳过——包括 Console.WriteLine("pass");。控制继续到 else。else 花括号之间的语句运行,于是执行 Console.WriteLine("wait");。屏幕一行,无第二行。单词 false 本身不会出现,除非你故意写出它。
让选择保持清楚的规则
测试两侧的括号是必需的。写成 if ready { … } 没有括号时,build 会报错。本页的测试是一个 bool:像 ready 这样的名称,或无引号的裸单词 true / false。if ("true") 把字母放在本该是 bool 测试的位置;build 会报错。删掉引号,或继续使用 bool 名称。单独一个整数如 if (1) 不是本课保存“是否就绪”的写法;请留在 true、false 或 bool 名称上。
花括号对读懂本课很重要。本页始终用 { } 包住每条路径。C# 允许没有花括号的单行 if,但一旦你在该 if 下再加第二行,若没有花括号,就只有第一行仍绑在测试上。初学者很容易漏掉这一点。两个演示都请保留花括号,让每条路径一目了然:测试后一个开花括号,else 前一个闭花括号,再给 else 一对花括号。
else 属于某个 if。单独的 else 会让 build 报错。本页一个 if 配一个 else。若你只关心 true 路径,可以写没有 else 的 if;你保留的文件仍写出两侧,好让你看见分叉。在多个固定值之间选择是后面页面的 switch——这里不要再用另一个 else 发明第三条分支。
你也可以不单独起名称就写测试:if (true) { … } else { … }。这样能 build 并运行。演示使用 ready,是为了让你看见已保存的 bool 驱动选择——学会保存 true 与 false 之后,程序通常就是这个样子。像 if (score > 10) 这样的比较,等你熟悉本页的 true / false 分叉后再学;本页把测试保持为你已经理解的 bool 值。
📊 ready and the screen
| ready | Screen |
|---|---|
| true | pass |
| false | wait |
把表格当作运行后的核对,而不是代替运行。true 配你保留的文件写出 pass。false 配第二个文件写出 wait。若两条写出语句不知为何都运行了,说明花括号或 if / else 配对有问题——先改结构,不要重装 .NET SDK。
常见混淆是写出语法本身:Console.WriteLine("if (ready)");。那会写出字符 if (ready),并不会选择路径。另一种混淆是把 && 或 == 的演示留在同一个 Main 里,却奇怪为什么屏幕是 true 而不是 pass。本课的 Main 应只保留那个 bool 以及那套 if / else。
现在你可以保存一个 bool,把它放进 if (…),并给每个结果各自一对花括号。测试为 true 时运行一条写出语句;为 false 时运行 else 里的写出语句。下一页是 switch:若干固定值各自有一个 case,而不再是单一的 true / false 分叉。
屏幕就是被选中的那条路径
你保留的文件写出 pass。名称 ready 在括号里,ready 不上屏。单词 true 在保存行里,true 不上屏。else 路径在文件里,但在保留那次运行中不会执行。给 if (ready) 加引号只会写出字母,不会选出一条路径。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部