在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 语句。