选择结构用于根据条件控制代码的执行路径,主要由 if 和 switch 两种语句实现。
一、if 语句
1.1 基础形式
if选择结构共有三种基础形式,分别为:但条件分支、双分支和多条件分支。
// 单条件单分支
if (condition) {
// 条件为 true 时执行
}
// 双分支
if (condition) {
// true 分支
} else {
// false 分支
}
// 多条件分支
if (condition1) {
// 条件1 满足
} else if (condition2) {
// 条件2 满足
} else {
// 其他情况
}
代码示例:
int score = 85;
if (score >= 90) {
Console.WriteLine("优秀");
} else if (score >= 80) {
Console.WriteLine("良好"); // 此分支满足
} else {
Console.WriteLine("继续努力");
}
//输出的结果为良好;
二、switch 语句
switch语句是一个多分支的语句,它和 if_else if的结构很相似,但是在大多情况下,switch的语句表达方式更直观、简洁、高效。
基本形式:
switch (expression) {
case value1:
// 代码块
break; // C#严格要求 break 或 return
case value2:
// ...
goto case value1; // 跳转到另一 case
default:
// 默认处理
break;
}
示例:
string day = "Staurday";
switch (day)
{
case "Staurday":
case "Sunday"://多case共享
Console.WriteLine("休息日");
break;
case "Mondday":
Console.WriteLine("工作日");
break;
default:
Console.WriteLine("无效输入");
break;
}
//输出结果为休息日;
switch的高级用法(switch表达式):
string category = score switch {
>= 90 => "优秀",
>= 80 => "良好",
>= 60 => "及格",
_ => "不及格" // 用 _ 表示默认
};
Console.WriteLine($"成绩等级: {category}");
运行结果:

三、三种不同选择结构对比:
| 结构类型 | 适用场景 | 优势 | 劣势 |
|---|---|---|---|
if-else | 条件简单或范围判断 | 灵活,易扩展 | 嵌套多层后易混乱 |
传统 switch | 基于单一变量多离散值的选择 | 结构清晰,效率高(跳转表) | 需手动处理 case 间隔 |
switch 表达式 | 需要返回结果或涉及模式匹配 | 简洁,安全(覆盖检查) | 仅 C# 8.0+ 支持 |

1532

被折叠的 条评论
为什么被折叠?



