我在想为什么C#要求我在
然而,有一种情况(已经在本网站上讨论过)可能是需要明确使用
switch
语句中使用break
,即使按定义不允许出现“掉落”语义。因此,编译器可以在每个case
块的末尾生成break
并节省我的麻烦。然而,有一种情况(已经在本网站上讨论过)可能是需要明确使用
break
的原因:switch (foo) {
case 0:
case 1:
bar();
break;
default:
break;
}
如果foo
的值为0或1,则调用bar()
方法。
如果编译器会自动生成break
语句,那么这个选项会完全崩溃。这就是原因吗?还是有其他好的理由使break
是必需的?