在C#中,switch
语句用于根据不同的条件执行不同的代码块。以下是一些关于C# switch
语句的写法技巧:
{}
包围每个 case
代码块,即使只有一行代码。这样可以提高代码的可读性和可维护性。switch (value)
{
case 1:
Console.WriteLine("Value is 1");
break;
case 2:
Console.WriteLine("Value is 2");
break;
default:
Console.WriteLine("Value is not 1 or 2");
break;
}
使用 switch
语句时,确保所有可能的值都被列出。未列出的值将执行 default
代码块。如果不确定所有可能的值,可以使用 goto
语句代替 switch
语句。
当 case
代码块中的代码执行完毕时,break
语句会自动执行。这样可以防止多个 case
代码块被执行。但是,如果你希望在多个 case
代码块中执行相同的代码,可以省略 break
语句。
switch (value)
{
case 1:
case 2:
Console.WriteLine("Value is 1 or 2");
break;
default:
Console.WriteLine("Value is not 1 or 2");
break;
}
switch
语句的条件表达式是枚举类型,可以使用 switch
语句的另一种语法,即直接在条件表达式后使用大括号 {}
。enum MyEnum
{
Value1,
Value2,
Value3
}
MyEnum value = MyEnum.Value1;
switch (value)
{
case MyEnum.Value1:
Console.WriteLine("Value is Value1");
break;
case MyEnum.Value2:
Console.WriteLine("Value is Value2");
break;
case MyEnum.Value3:
Console.WriteLine("Value is Value3");
break;
default:
Console.WriteLine("Value is not Value1, Value2, or Value3");
break;
}
switch
语句。C# 提供了 switch
表达式和 if-else if
语句的模式匹配版本。value switch
{
int intValue when intValue > 0 => $"Positive integer: {intValue}",
int intValue when intValue < 0 => $"Negative integer: {intValue}",
_ => $"Non-integer value: {value}"
}
总之,C# switch
语句的写法技巧包括使用大括号 {}
包围每个 case
代码块、确保所有可能的值都被列出、使用 goto
语句代替未列出的值、省略 break
语句以执行多个 case
代码块、使用枚举类型的 switch
语句语法以及使用模式匹配代替 switch
语句。