C# switch 条件语句

switch…case 语句适合于从一组互斥的分支中选择一个执行分支。其语法格式为:
 
switch(表达式)
{
case 常量表达式 1: 语句 1;break;
case 常量表达式 2: 语句 2;break;
case 常量表达式 n: 语句 n;break;
default : 语句 n+1; break;
}
功能:执行 switch 语句,首先计算 switch 表达式,然后与 case 后的常量表达式的值进行比较,执行第一个与之匹配的 case 分支下的语句。如果没有 case 常量表达式的值与之匹配,则执行 dafault 分支下的语句,如果没有 dafault 语句,则退出 switch 语句。
 
说明:
 
(1)在 case 语句后面必须有 break 语句或 goto 跳转语句,不允许从一个 case 自动遍历到其它 case,否则编译时将报错。
 
(2)switch 语句的控制类型,即其中控制表达式的数据类型可以是 sbyte、byte、short、
ushort、uint、long、ulong、char、string 或枚举类型。
 
(3)每个 case 标签中的常量表达式必须属于或能隐式转换成控制类型。如果有两个或两个以上 case 标签中的常量表达式值相同,编译时将会报错。
 
(4)switch 语句中可以没有 dafault 语句,但最多只能有一个 dafault 语句。
 
3bfdedecc26541e1b4ab1fb95a7c9c66.png

 

 

### C#SWITCH CASE 语句的用法 在 C# 编程中,`switch case` 是一种多分支选择结构,提供了一种简洁而高效的方式来处理多个条件分支。以下是关于 `switch case` 语句的详细说明和示例。 #### 基本语法 `switch case` 的基本语法如下: ```csharp switch (expression) { case value1: // 执行代码块1 break; case value2: // 执行代码块2 break; default: // 默认执行代码块 break; } ``` 其中,`expression` 是一个表达式,`value1`、`value2` 等是与表达式匹配的值。当 `expression` 的值与某个 `case` 的值匹配时,执行对应的代码块[^3]。 #### 示例代码 以下是一个简单的示例,展示如何使用 `switch case` 语句根据不同的整数值执行不同的操作。 ```csharp int option = 2; switch (option) { case 1: Console.WriteLine("Option 1 selected."); break; case 2: Console.WriteLine("Option 2 selected."); break; case 3: Console.WriteLine("Option 3 selected."); break; default: Console.WriteLine("Invalid option."); break; } ``` 在这个例子中,如果变量 `option` 的值为 `2`,程序将输出 `"Option 2 selected."`[^4]。 #### 注意事项 - 每个 `case` 后必须使用 `break` 语句来终止当前分支的执行,否则程序会继续执行后续的代码块[^3]。 - `default` 分支是可选的,但在大多数情况下建议使用,以处理未匹配的情况[^5]。 #### 高级用法 从 C# 8.0 开始,`switch case` 支持模式匹配,允许更复杂的条件判断。例如: ```csharp object obj = "Hello"; switch (obj) { case int i: Console.WriteLine($"Integer: {i}"); break; case string s when s.Length > 5: Console.WriteLine($"Long String: {s}"); break; case string s: Console.WriteLine($"Short String: {s}"); break; default: Console.WriteLine("Unknown type."); break; } ``` 在这个例子中,程序根据对象的类型和特性执行不同的代码块。 #### 默认分支的位置 `default` 分支可以放在 `switch` 语句中的任何位置,而不一定需要放在最后[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值