C# - 决策语句
决策语句
决策结构要求程序员指定程序要评估或测试的一个或多个条件,以及在条件成立时要执行的一个或多个语句,以及(可选)在条件不成立时要执行的其他语句。
以下是大多数编程语言中常见的典型决策结构的一般形式 -

决策语句的类型
C# 提供了以下类型的决策语句。点击以下链接查看详情 -
序号 | 声明 &说明 |
---|---|
1 | if 语句
if 语句由一个布尔表达式后跟一个或多个语句组成。 |
2 | if...else 语句
if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false 时执行该语句。 |
3 | 嵌套 if 语句
您可以在一个 if 或 else if 语句中嵌套另一个 if 或 else if 语句。 |
4 | switch 语句
switch 语句允许测试变量是否与值列表相等。 |
5 | 嵌套 switch 语句
您可以在一个 switch 语句中使用另一个 switch 语句。 |
if 语句
if 语句由一个布尔表达式后跟一个或多个语句组成。
示例
以下示例演示了如何在 C# 中使用简单的 if 语句:
using System; namespace DecisionMaking { class Program { static void Main(string[] args) { // 定义局部变量 int temperature = 30; // 使用 if 语句检查条件 if (temperature > 25) { Console.WriteLine("It's a hot day."); } Console.WriteLine($"Current temperature: {temperature} degree C"); } } }
当编译并执行上述代码时,它会产生以下结果 -
It's a hot day. Current temperature: 30 degree C
if else 语句
if 语句后可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。
示例
以下示例演示了如何在 C# 中使用 if else 语句:
using System; namespace DecisionMaking { class Program { static void Main(string[] args) { // 定义局部变量 int temperature = 21; // 使用 if-else 语句检查条件 if (temperature > 25) { Console.WriteLine("It's a hot day."); } else { Console.WriteLine("The weather is pleasant."); } Console.WriteLine($"Current temperature: {temperature} degree C"); } } }
当编译并执行上述代码时,它会产生以下结果 -
The weather is pleasant. Current temperature: 21 degree C
嵌套 if 语句
在 C# 中,嵌套 if-else 语句始终是合法的,这意味着您可以在一个 if 或 else if 语句中使用另一个 if 或 else if 语句。
示例
以下示例演示了如何在 C# 中使用嵌套 if 语句:
using System; namespace DecisionMaking { class Program { static void Main(string[] args) { // 定义局部变量 int temperature = 30; // 使用嵌套的 if 语句检查条件 if (temperature > 0) { if (temperature < 15) { Console.WriteLine("It's a cold day."); } else if (temperature <= 15 && temperature >= 25) { Console.WriteLine("The weather is pleasant."); } else { Console.WriteLine("It's a hot day."); } } else { Console.WriteLine("It's freezing outside!"); } Console.WriteLine($"Current temperature: {temperature} degree C"); } } }
当编译并执行上述代码时,它会产生以下结果 -
It's a hot day. Current temperature: 30 degree C
switch 语句
switch 语句允许测试变量与一系列值是否相等。每个值称为一个 case,并且会针对每个 switch case 检查被切换的变量。
示例
以下示例演示了如何在 C# 中使用嵌套 if 语句:
using System; namespace DecisionMaking { class Program { static void Main(string[] args) { int day = 3; switch (day) { case 1: Console.WriteLine("Sunday"); break; case 2: Console.WriteLine("Monday"); break; case 3: Console.WriteLine("Tuesday"); break; case 4: Console.WriteLine("Wednesday"); break; case 5: Console.WriteLine("Thursday"); break; case 6: Console.WriteLine("Friday"); break; case 7: Console.WriteLine("Saturday"); break; default: Console.WriteLine("Invalid day number! Please enter a number between 1 and 7."); break; } } } }
当编译并执行上述代码时,它会产生以下结果 -
Tuesday
?: 运算符
我们在上一章中介绍了 条件运算符 ?:,它可用于替换 if...else 语句。其一般形式如下:
Exp1 ? Exp2 : Exp3;
其中 Exp1、Exp2 和 Exp3 为表达式。注意冒号的使用和位置。
?
表达式的值确定如下:Exp1 被求值。如果它为真,则 Exp2 被求值并成为整个 ? 表达式的值。如果 Exp1 为假,则 Exp3 被求值并成为表达式的值。