希望快点.
这是一个有效的枚举
public enum myEnum
{
a= 1,
b= 2,
c= 3,
d= 4,
e= 5,
f= 6,
g= 7,
h= 0xff
};
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
public enum myEnum
{
1a = 1,
2a = 2,
3a = 3,
};
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在枚举中使用数字.我已经有了代码来填充枚举下拉列表,所以它会非常方便
有人一直在谈论Enums一般违反清洁守则原则,所以我正在寻找人们最喜欢的Enum反模式和替代解决方案.
例如,我见过这样的代码:
switch(enumValue) {
case myEnum.Value1:
// ...
break;
case myEnum.Value2:
// ...
break;
}
Run Code Online (Sandbox Code Playgroud)
它比带有魔术字符串的switch语句更好一步,但这可能已经通过工厂,容器或其他模式更好地解决了.
甚至像这样的老派代码:
if(enumValue == myEnum.Value1) {
// ...
} else if (enumValue == myEnum.Value2) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
您对枚举有哪些其他反模式和更好的实现?