如果我使用switch语句来处理枚举(属于我的班级)中的值,并且每个可能的值都有一个大小写,是否值得添加代码来处理“默认”大小写?
enum MyEnum
{
MyFoo,
MyBar,
MyBat
}
MyEnum myEnum = GetMyEnum();
switch (myEnum)
{
case MyFoo:
DoFoo();
break;
case MyBar:
DoBar();
break;
case MyBat:
DoBat();
break;
default:
Log("Unexpected value");
throw new ArgumentException()
}
我不认为这是因为永远无法到达此代码(即使使用单元测试也是如此)。我的同事不同意并认为这可以保护我们免受因将新值添加到MyEnum而导致的意外行为。
社区,你怎么说?
MyEnum
然后将其传递给您的交换机该怎么办?
switch
完全消除该语句。