switch 语句
本课属于 Coddy C# 学习旅程的“基础知识”单元。第 27 课,共 69 课。
switch 语句就像多分支的 if 语句。它不会只判断一个条件,而是会将变量的值与多个情况进行比较,并运行与匹配情况相关的代码。
下面是 switch 语句的基本结构:
switch (variable) {
case value1:
// 如果 variable 等于 value1,则执行的代码
break;
case value2:
// 如果 variable 等于 value2,则执行的代码
break;
// ... 更多 case 分支
default:
// 如果没有匹配的 case,则执行的代码
break;
}switch关键字后面要在括号中写入你想要测试的变量。- 每个
case都代表变量的一个可能值。 - 如果变量与某个
case的值匹配,就会执行该case中的代码。
- 每个非空的
case都必须以break(或return)结束,以退出switch。省略它会导致编译错误:与 C 或 Java 不同,C# 不允许执行从一个 case“贯穿”到下一个 case。只有像下面这样堆叠在一起的空 case 标签才会共用代码。
default分支是可选的,如果没有其他分支匹配,就会执行它。
来看一个例子:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ……其他日期对应的 case
default:
dayName = "Invalid day";
break;
}你也可以将多个 case 合并为一个:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ……其他日期对应的 case
default:
dayName = "Invalid day";
break;
}挑战
入门创建一个程序,输入月份编号(1 表示 January,2 表示 February,以此类推),并输出该月份所属的季节。使用 switch 语句实现逻辑。
季节及其对应的月份如下:
Winter:December(12)、January(1)、February(2)Spring:March(3)、April(4)、May(5)Summer:June(6)、July(7)、August(8)Autumn:September(9)、October(10)、November(11)
输出的季节名称必须与上面所写完全一致,使用英文。
亲手试试
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// 在下方编写代码
Console.WriteLine(season);
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C# 在线编译器