📜  c# switch case - C# (1)

📅  最后修改于: 2023-12-03 15:29:46.302000             🧑  作者: Mango

C# Switch语句

在C#中,switch语句允许我们将一个表达式与多个不同的情况进行比较,并且根据不同情况执行不同的代码段。如果只有一种情况匹配,则执行该情况的代码,并退出switch语句。如果没有找到匹配的情况,则执行default情况中的代码。

语法

switch语句的基本语法如下:

switch (expression)
{
    case constant-expression:
        // code block
        break;
    case another-constant-expression:
        // code block
        break;
    default:
        // code block
        break;
}

在上面的语法中:

  • expression是需要进行比较的表达式。
  • constant-expression是与表达式进行比较的常量表达式,该表达式的结果必须是与表达式的结果相同的类型。
  • case关键字后面跟着常量表达式,表示当表达式等于常量表达式时,执行该情况下的代码。
  • default关键字表示当没有匹配到任何情况时,执行该情况下的代码。

在C#中,switch语句必须包含一个或多个case语句,并且可以包含一个可选的default情况。

示例
char grade = 'B';

switch (grade)
{
    case 'A':
        Console.WriteLine("Excellent!");
        break;
    case 'B':
    case 'C':
        Console.WriteLine("Well done");
        break;
    case 'D':
        Console.WriteLine("You passed");
        break;
    case 'F':
        Console.WriteLine("Better try again");
        break;
    default:
        Console.WriteLine("Invalid grade");
        break;
}

在上面的示例中,我们使用switch语句根据不同的成绩输出不同的提示信息。当grade等于'A'时,会输出Excellent!;当grade等于'B''C'时,会输出Well done;当grade等于'D'时,会输出You passed;当grade等于'F'时,会输出Better try again;当grade不匹配任何一个情况时,会输出Invalid grade

注意事项
  1. 在case块中,不需要使用break语句,但需要在执行完代码块后使用 break 或者 return 终止switch块。

  2. 每个case块必须是一个常量,不允许使用变量,方法调用或表达式。

  3. 如果没有找到匹配的情况,将会执行default情况下的代码。

总结

C#中的switch语句允许我们根据不同的情况执行不同的代码段。在使用switch语句时,我们需要注意下面的几点:

  • switch语句必须包含一个或多个case语句。
  • 每个case块必须是常量,因此不允许使用变量或方法调用。
  • 如果选择没有情况与表达式匹配,default情况将被执行。
  • case块内不需要使用break语句,但需要在执行完代码块后使用break或return语句终止switch块。
  • switch语句通常是if语句的一种替代方案,用于在多个不同的值之间进行选择。