当前位置:首页 > C# > 正文

C# Switch-Case 语句的灵活运用技巧(新手也能轻松掌握的 C# 编程技巧)

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

C# Switch-Case 语句的灵活运用技巧(新手也能轻松掌握的 编程技巧) switch-case  教程 编程技巧 条件判断 第1张

一、基础语法回顾

最简单的 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 共享同一段逻辑

当你希望多个值执行相同操作时,可以将多个 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+ 的模式匹配(Pattern Matching)

从 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 表达式(Switch Expressions)

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+)以提高可读性。
  • 当分支较多时,switchif-else 性能更好(编译器会优化为跳转表)。
  • 对枚举类型使用 switch 非常自然且安全。

结语

通过本文,你应该已经掌握了 C# switch-case 从基础到高级的多种用法。无论是处理简单数值、字符串,还是利用模式匹配和表达式语法,switch 都能让你的代码更优雅、更高效。快去你的项目中试试这些 C# 编程技巧 吧!