C# Switch

C# Switch 语句

使用 switch 语句来选择要执行的多个代码块之一。

语法

switch(表达式)
{
  case x:
    // 代码块
    break;
  case y:
    // 代码块
    break;
  default:
    // 代码块
    break;
}

它是这样工作的:

  • switch 表达式被评估一次。
  • 表达式的值与每个 case 的值进行比较。
  • 如果找到匹配项,则执行相关联的代码块。
  • breakdefault 关键字将在本章后面进行描述。

下面的例子使用工作日编号来计算工作日名称:

实例

int day = 4;
switch (day) 
{
  case 1:
    Console.WriteLine("Monday");
    break;
  case 2:
    Console.WriteLine("Tuesday");
    break;
  case 3:
    Console.WriteLine("Wednesday");
    break;
  case 4:
    Console.WriteLine("Thursday");
    break;
  case 5:
    Console.WriteLine("Friday");
    break;
  case 6:
    Console.WriteLine("Saturday");
    break;
  case 7:
    Console.WriteLine("Sunday");
    break;
}
// 输出 "Thursday" (day 4)

亲自试一试

break 关键字

当 C# 遇到 break 关键字时,它会跳出 switch 块。

这将停止执行块内的更多代码和 case 测试。

当找到匹配项并完成工作时,就是休息时间了。没有必要进行更多测试。

提示:break 可以节省大量执行时间,因为它会“忽略” switch 块中其余所有代码的执行。

default 关键字

default 关键字是可选的,并指定在没有 case 匹配时要运行的代码:

实例

int day = 4;
switch (day) 
{
  case 6:
    Console.WriteLine("今天是星期六。");
    break;
  case 7:
    Console.WriteLine("今天是星期日。");
    break;
  default:
    Console.WriteLine("期待周末。");
    break;
}
// 输出 "期待周末。"

亲自试一试