相关疑难解决方法(0)

C#使用枚举中的数字

希望快点.

这是一个有效的枚举

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)

有没有办法可以在枚举中使用数字.我已经有了代码来填充枚举下拉列表,所以它会非常方便

c# syntax enums

36
推荐指数
4
解决办法
6万
查看次数

C#:Enum反模式

有人一直在谈论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)

您对枚举有哪些其他反模式和更好的实现

.net c# enums design-patterns anti-patterns

6
推荐指数
1
解决办法
4919
查看次数

标签 统计

c# ×2

enums ×2

.net ×1

anti-patterns ×1

design-patterns ×1

syntax ×1