C# 中的 Switch case 或语句用于根据与匹配表达式的匹配情况,从 switch 节列表中选择单个节进行执行。
通常,switch 语句可以替代 if else 语句,因为它比 if-else 更快。正如我们之前所说,switch case 比 if-else 更快。因为与 if else 不同,它在编译时会准备一个查找表来找出匹配项,并直接执行该语句,而无需比较列表中的每个条件。
C# Switch Case 语法
switch 语句的基本语法是
switch(expression)
{
case value 1:
statements;
break;
case value 2:
statements;
break;
.
.
default:
statements;
}
让我们看一个使用 C# switch case 的示例代码。
using System;
class Switch_Statement
{
static void Main()
{
Console.WriteLine("Enter your character");
char vowel = char.Parse(Console.ReadLine());
switch(vowel)
{
case ('a'):
Console.WriteLine("you entered a vowel");
break;
case ('e'):
Console.WriteLine("you entered a vowel");
break;
case ('i'):
Console.WriteLine("you entered a vowel");
break;
case ('o'):
Console.WriteLine("you entered a vowel");
break;
case ('u'):
Console.WriteLine("you entered a vowel");
break;
default:
Console.WriteLine("you entered a consonant");
break;
}
}
}

这里我们使用一个 char 变量 vowel 来存储用户输入的字符。
一旦我们输入 i 作为输入。编译器会将字符 i 与 case 进行比较,case i 将会匹配,因此它会打印输出为
你输入了一个元音
下次,我们输入 k 作为输入,它与任何 case 都不匹配,因此它打印默认语句。
你输入了一个辅音。
C# Switch Case 示例
在这个例子中,我们为多个值创建了一个单一的 Switch case。
当 case 语句之间没有代码或对所有这些 case 语句都有共同的代码时,我们可以为多个值创建一个单一的 case。
没有代码的 case 将自动执行下一个 case。让我们看看与上面相同的 switch case 语句示例的编码方式。
using System;
class Program
{
static void Main()
{
Console.WriteLine("Enter your character");
char vowel = char.Parse(Console.ReadLine());
switch(vowel)
{
case ('a'):
case ('e'):
case ('i'):
case ('o'):
case ('u'):
Console.WriteLine("you entered a vowel");
break;
default:
Console.WriteLine("you entered a consonant");
break;
}
}
}
输出

分析
因为 a、e、i、o、u 都是元音,并且必须对所有这些值执行相同的代码。谈到 Switch case 的执行,我们为 char 变量 vowel 输入了 i。请参考 C# 教程。
它检查 case i,因为 i 没有代码,它会跳到 o,那里也没有代码。最后,它会跳到 u,在那里找到代码并打印输出。
你输入了一个元音
Enter your character
k
you entered a consonant
接下来,我们输入 k 作为输入,它在任何 case 中都找不到匹配项。因此它打印默认语句。
你输入了一个辅音