我有两个成员 enum 发生了很多事情:
enum E{
A,
B
}
假设我想根据我的枚举值为 i 分配一个不同的值。
我应该写这个:
int i= (e== E.A)?0:1;
或这个 :
int i;
if (e==E.A)
i=0;
else if (e==E.B)
i=1;
else throw new NotImplementedException("Unknown enum member for E : " + e);
或者这个:
int i;
switch (e)
{
case E.A:
i = 0;
break;
case E.B:
i=1;
break;
default:
throw new NotImplementedException("Unknown enum member for E : " + e);
}
我通常选择第一个选项,因为它写起来更快,但我总是觉得有点不对劲。你平常都做什么?
我在 c# 中发布了代码,但这个问题与语言无关。
我真的不知道应该如何标记它,如果需要,请不要犹豫重新标记它。
编辑:也许我的问题还不够清楚:我真正想知道的是:我应该假设我的枚举永远不会改变并采用快速的方式,还是应该考虑它可能会改变(尽管我没有改变它然而),并添加一些错误处理代码,这样我就不用花费数周的时间来跟踪错误的位置(如果它发生了变化)