📅  最后修改于: 2023-12-03 15:00:17.102000             🧑  作者: Mango
在C#中,Switch语句是一种用于将一个值与多个可能的常量值进行比较的结构。
switch (expression)
{
case value1:
// Statements to execute when expression equals value1
break;
case value2:
// Statements to execute when expression equals value2
break;
...
default:
// Statements to execute when none of the above cases are true
break;
}
expression
:需要比较的表达式。value1
、value2
等:可能的常量值。default
:可选的语句块,用于处理当表达式不等于任何一个值时的情况。以下是Switch语句的示例,用于确定给定月份的天数:
public static int GetDaysInMonth(int year, int month)
{
int daysInMonth = 0;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
daysInMonth = 31;
break;
case 4:
case 6:
case 9:
case 11:
daysInMonth = 30;
break;
case 2:
if (IsLeapYear(year))
{
daysInMonth = 29;
}
else
{
daysInMonth = 28;
}
break;
default:
throw new ArgumentOutOfRangeException("month", "Month must be between 1 and 12.");
}
return daysInMonth;
}
public static bool IsLeapYear(int year)
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
注意:如果一个case语句没有使用break
语句,所有在该case语句后的语句块也将被执行。这称为“fall-through”。
Switch语句是一种方便的用于比较表达式和常量值的结构。通过使用Switch语句,您可以更清晰和简洁地编写代码。不过请注意,当case语句没有使用break
语句时,代码的行为可能会产生意外的结果,因此请特别小心。