哪个例子中括号的数量是正确的? C# 12 编译器接受两者。
示例1:
switch ((value, Frozen))
{
case ( >= 0 and <= 9, false):
break;
case (_, false):
break;
case (_, true):
break;
}
示例 2:
switch (value, Frozen)
{
case ( >= 0 and <= 9, false):
break;
case (_, false):
break;
case (_, true):
break;
}
没有区别,所以两者都是正确的,但通常应该省略多余的(不必要的)括号,除非它们有助于清晰。括号在此上下文中可以表示:
但是:多个逗号分隔术语的存在是它们之间的区别;值元组的用法必须至少有 2 个术语,正是为了避免这种混乱。
所以: