首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]C#编程入门:一招看懂switch语句的神奇用法

发布于 2025-06-22 10:17:54
0
577

在C编程中,switch语句是一种强大的控制结构,它允许你根据变量的值来执行不同的代码块。switch语句通常用于处理多个条件分支,尤其是在你需要根据某个变量的值来选择执行特定代码段时。本文将深入探讨...

在C#编程中,switch语句是一种强大的控制结构,它允许你根据变量的值来执行不同的代码块。switch语句通常用于处理多个条件分支,尤其是在你需要根据某个变量的值来选择执行特定代码段时。本文将深入探讨switch语句的用法,特别是它的神奇之处。

一、switch语句的基本结构

switch语句的基本结构如下:

switch (表达式)
{ case 常量1: // 当表达式的值等于常量1时执行的代码 break; case 常量2: // 当表达式的值等于常量2时执行的代码 break; // ... 可以有多个case分支 default: // 当表达式的值不匹配任何case时执行的代码 break;
}

switch语句中,表达式的值将用于匹配case子句中的常量。如果找到匹配的常量,将执行该case后面的代码块。break语句用于防止执行流程“掉落”到下一个case

二、switch语句的神奇用法

1. 使用模式匹配

C# 7.0及以后的版本引入了模式匹配,这使得switch语句更加灵活。你可以使用模式匹配来检查变量是否具有特定的值或类型。

int dayOfWeek = 3;
switch (dayOfWeek)
{ case 1: case 7: Console.WriteLine("周末"); break; case 2: case 3: case 4: case 5: case 6: Console.WriteLine("工作日"); break; default: Console.WriteLine("无效的日期"); break;
}

在这个例子中,我们使用了case 1: case 7:来匹配周末的两天。

2. 使用范围匹配

从C# 8.0开始,你可以使用范围匹配来简化对一系列连续值的匹配。

int number = 5;
switch (number)
{ case int n when n < 0: Console.WriteLine("负数"); break; case int n when n >= 0 && n <= 10: Console.WriteLine("0到10之间的数"); break; default: Console.WriteLine("其他数"); break;
}

在这个例子中,我们使用了case int n when n >= 0 && n <= 10:来匹配0到10之间的数。

3. 使用模式变量

从C# 8.0开始,你可以在switch语句中使用模式变量来引用匹配的值。

int number = 5;
switch (number)
{ case int n when n % 2 == 0: Console.WriteLine($"偶数: {n}"); break; case int n when n % 2 != 0: Console.WriteLine($"奇数: {n}"); break; default: Console.WriteLine("无效的数字"); break;
}

在这个例子中,n是模式变量,它引用了匹配的值。

三、总结

switch语句是C#中一个非常有用的特性,它可以帮助你以清晰和简洁的方式处理多个条件分支。通过使用模式匹配、范围匹配和模式变量,你可以使switch语句更加灵活和强大。掌握这些用法,将使你在C#编程中更加得心应手。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流