c#中switch case的用法
时间: 2024-06-13 07:02:16 浏览: 17
在C#中,`switch`语句是一种控制结构,用于执行一系列可能的条件分支,其中一个分支会被根据给定表达式的值匹配到。它的基本语法如下:
```csharp
switch (expression)
{
case value1:
// 当expression等于value1时执行的代码块
break;
case value2:
// 当expression等于value2时执行的代码块
break;
// 可以有多个case,每个case后面跟着一个值,如果expression匹配到其中一个,就执行相应的代码
...
default:
// 如果所有case都不匹配,执行default后面的代码块(可选)
break;
}
```
- `expression`:被比较的变量或表达式,通常是一个枚举、整数或字符串类型。
- `value1, value2, ...`:是case后的值,这些值必须是expression类型的常量或者枚举值。
- `break`:结束当前case的执行并跳出switch结构。如果不写break,程序会继续执行下一个case(除非遇到`break`或`default`)。
注意,C#中的`switch`语句只能用于整型、字符、枚举值以及一些特定的值类型。如果你想要使用更复杂的数据类型或者自定义对象进行匹配,你需要提供一个相等的重载方法或使用`if-else if-else`结构。
相关问题
C#中switch case用法
在C#中,switch case语句用于根据表达式的值来执行不同的操作。它的基本语法如下:
```csharp
switch (expression)
{
case value1:
// 执行与value1匹配的操作
break;
case value2:
// 执行与value2匹配的操作
break;
// 可以添加更多的case语句
default:
// 如果没有匹配的值,则执行default块中的操作
break;
}
```
在这个语法中,expression是一个可计算的表达式,它的值将与每个case语句中的值进行比较。如果找到匹配的值,就会执行对应的代码块。如果没有找到匹配的值,就会执行default块中的代码。
请注意,每个case语句后面都有一个break语句,它用于终止switch语句。如果没有break语句,程序将会继续执行下一个case块中的代码。这种情况下,我们称之为"fall-through"。
下面是一个示例:
```csharp
int num = 2;
switch (num)
{
case 1:
Console.WriteLine("数字是1");
break;
case 2:
Console.WriteLine("数字是2");
break;
case 3:
Console.WriteLine("数字是3");
break;
default:
Console.WriteLine("数字不是1、2或3");
break;
}
```
以上代码将输出:"数字是2",因为num的值是2,与case 2匹配。
C#switch case用法
以下是C#中switch case语句的用法:
```csharp
switch (expression)
{
case value1:
// 当expression等于value1时执行的代码
break;
case value2:
// 当expression等于value2时执行的代码
break;
case value3:
// 当expression等于value3时执行的代码
break;
default:
// 当expression不等于任何一个case时执行的代码
break;
}
```
其中,expression是要测试的变量或表达式,value1、value2、value3等是可选值的条件表达式。当expression等于某个值时,执行对应的case后的代码块。如果expression不等于任何一个case后的值,则执行default后的代码块。
以下是一个示例:
```csharp
int day = 4;
string dayName;
switch (day)
{
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
break;
}
Console.WriteLine("Today is {0}", dayName);
```
输出结果为:Today is Thursday
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)