C# 中的 Switch 语句

2025 年 8 月 23 日 | 阅读 6 分钟

在 C# 中,switch 语句是一种决策机制,它根据给定表达式的值执行多个代码段。它也被称为条件语句。它类似于 if-else 和梯形 if 语句,但 switch 语句通常更高效且易于阅读。

Switch 语句的语法

它具有以下语法。

其中,

  • Switch(expression):表达式的值初始化一次。
  • expression_value:它比较表达式。如果它们匹配,代码将被执行并中断程序;否则,它将移动到下一个语句。
  • break;:它用于退出程序。
  • default:它是 switch 语句的可选部分。它可以在 switch 语句内的任何位置执行。

C# 中 Switch 语句的流程图

Switch Statement in C#

让我们讨论流程图以及 C# 中 switch 语句的工作原理。

步骤 1:第一步,我们需要评估 switch 表达式。

步骤 2:之后,评估的 case 检查给定条件。

步骤 3:在这种情况下,我们检查每个 case 中的值。如果 case 匹配,它将执行代码块。如果 case 不匹配,它将执行 default 语句。

步骤 4:最后,在 switch case 的帮助下执行语句。

C# Switch 语句的简单示例

让我们看一个简单的示例来说明 C# 中的 switch 语句。

示例

编译并运行

输出

Enter any Character: 
i
The entered character is a Vowel

说明

在此示例中,我们获取用户输入的字符,并使用 ToLower() 方法将其转换为小写。之后,switch 语句检查输入的字符是否为元音(a、e、i、o 或 u)。如果找到匹配项,它会打印该字符是元音;否则,默认情况会显示它不是元音。

使用 Switch 语句的 C# 计算器程序

让我们看一个使用 C# 中 switch 语句计算简单算术运算的简单示例。

示例

编译并运行

输出

Enter the first number: 15
Enter the second number: 20
Enter the operator (+, -, *, /): +
The sum of the first and second numbers is 35

说明

在此示例中,我们演示了一个简单的算术运算。之后,我们定义了两个变量,一个字符类型和一个 double 类型。接下来,系统会提示用户输入任意两个数字并选择任何操作。之后,switch 语句计算这些数字并使用 Console.WriteLine() 函数打印结果。

使用 Switch 语句的规则

在 C# 中使用 switch 语句有几个规则。其中一些如下:

  • C# 中,我们必须在每个 switch 表达式中使用整数类型(如 int 和 char)。
  • 每个 switch 语句都包含多个 case。
  • 当 case 匹配时,代码将执行,直到遇到 break 语句。
  • 每个 case 必须以 break 关键字结束以停止执行。
  • 每个 case 标签后面都应该跟一个冒号“:”。
  • 外部和内部 switch 语句都可以使用 default case。
  • switch 语句的 default case 也是可选的。

C# 嵌套 Switch Case

在 C# 中,嵌套 switch 语句是一种控制语句,其中一个 switch 语句包含另一个 switch 语句。它用于需要在不同条件下进行多级决策的情况。

嵌套 Switch Case 的语法

它具有以下语法。

C# 嵌套 Switch Case 示例

让我们看一个示例来说明 C# 中的嵌套 switch 语句。

示例

编译并运行

输出

This is the first switch statement. 
This is part of the second switch statement. 
The exact value of x is 50 
The exact value of y is 100

说明

在此示例中,我们使用了整数数据类型 x 和 y。之后,程序使用嵌套 switch 语句检查 x 和 y 的值。最后,它检查条件并使用 Consle.WriteLine() 函数打印结果。

Switch 语句的特点

C# 中的 switch 语句有几个特点。其中一些如下:

  • 在 C# 中,与 if-else 语句相比,switch 语句更易于实现。
  • 它使复杂问题的执行变得容易。
  • 它处理多个 case。
  • 在变量与许多常量值进行比较的情况下,由于编译器优化,switch 通常比 if-else 更快更高效。

Switch 语句的局限性

在 C# 中,switch 语句有几个局限性。其中一些如下:

  • 我们不能在 switch 语句中使用浮点值。
  • 它不能处理复杂的 case 条件或表达式。
  • 我们不能比较非整数类型的值。

结论

总之,switch 语句允许我们解决编程中的关键问题。它是多个 case 的集合,并能有效地处理它们。它对程序员处理复杂场景非常有用。

C# Switch 语句常见问题解答

1) C# 中的 switch 语句是什么?

在 C# 中,switch 语句是一种决策机制,它允许我们根据给定表达式的值运行多个代码段。

2) 我们可以在 C# 的 switch 中使用 float 或 double 类型吗?

不可以,浮点类型不允许在 switch 语句中使用。

3) switch 语句的优缺点是什么?

在 C# 中,switch 语句有几个优点和缺点。其中一些如下:

优点

  • 它使复杂问题的执行变得容易。
  • 它处理多个 case。

缺点

  • 我们不能使用浮点值。
  • 我们不能使用变量条件。
  • 它具有有限的数据类型。

4) break 关键字对于 C# 中的每个 case 都是强制性的吗?

是的,break 关键字用于中断程序。因此,使用它是强制性的。

5) 我们可以在 C# switch 语句中处理字符串值吗?

是的,C# 和 Java 编程语言都支持字符串值。


下一个主题C# For 循环