【发布时间】:2011-12-23 23:44:06
【问题描述】:
我试图掩盖 edi 文件上的索引位置...我遇到过一种情况,根据情况,索引中可能有 2 或 3 个东西。使用枚举来隐藏“幻数”会很酷,并且惊讶地发现您可以将多个枚举分配给相同的值,如下所示:
public enum Color
{
Red = 1,
Blue = 1,
Green = 1
}
编译器对此很满意。我没想到这会奏效。我不需要返回枚举,所以我不担心尝试返回,但这闻起来很时髦。为什么 CLR 允许枚举有多个值,我应该为此使用结构吗? (结构似乎比枚举更重,这似乎有效)
【问题讨论】:
-
最好用相反的问题来回答:为什么它不允许这样做?例如,当您包含 First 和 Last 枚举成员时,它会很方便。
-
你想如何使用“struct for this”?
-
我可以使用结构来获取枚举“外观”,而不必强制转换。类似“public static int Red { get{ return 1; }}”