在 C# 编程 中,switch-case 语句是一种非常实用的条件判断结构。相比冗长的 if-else if 链,它能让代码更清晰、更高效。本文将带你从基础到进阶,掌握 C# switch-case 的灵活用法,即使是编程小白也能轻松上手!

最简单的 switch-case 结构如下:
int day = 3;switch (day){ case 1: Console.WriteLine("星期一"); break; case 2: Console.WriteLine("星期二"); break; case 3: Console.WriteLine("星期三"); break; default: Console.WriteLine("未知日期"); break;}注意:break 是必须的,否则会“穿透”到下一个 case(这在 C# 中是不允许的,除非你显式使用 goto case)。
当你希望多个值执行相同操作时,可以将多个 case 叠加:
char grade = 'B';switch (grade){ case 'A': case 'B': case 'C': Console.WriteLine("及格!"); break; case 'D': case 'F': Console.WriteLine("不及格!"); break; default: Console.WriteLine("无效成绩"); break;}这种写法简洁明了,避免重复代码,是 C# 条件判断 中常用的小技巧。
从 C# 7.0 开始,switch 支持对类型和值进行更复杂的匹配,称为“模式匹配”。例如:
object obj = "Hello";switch (obj){ case string s when s.Length > 5: Console.WriteLine($"长字符串:{s}"); break; case string s: Console.WriteLine($"短字符串:{s}"); break; case int i when i > 0: Console.WriteLine($"正整数:{i}"); break; case null: Console.WriteLine("值为 null"); break; default: Console.WriteLine("未知类型"); break;}这里使用了 when 关键字添加额外条件,让 C# switch-case 更加强大和灵活。
C# 8.0 引入了更简洁的 switch 表达式语法,适用于返回值的场景:
int number = 42;string result = number switch{ 0 => "零", 1 => "一", 2 => "二", _ => $"其他数字:{number}"};Console.WriteLine(result); // 输出:其他数字:42注意:这里使用 => 代替 : 和 break,末尾用下划线 _ 代替 default。这种写法非常适合函数式风格的 C# 教程 示例。
break(除非使用 goto case 或表达式形式)。switch 表达式替代传统语句(C# 8.0+)以提高可读性。switch 比 if-else 性能更好(编译器会优化为跳转表)。switch 非常自然且安全。通过本文,你应该已经掌握了 C# switch-case 从基础到高级的多种用法。无论是处理简单数值、字符串,还是利用模式匹配和表达式语法,switch 都能让你的代码更优雅、更高效。快去你的项目中试试这些 C# 编程技巧 吧!
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126132.html