我试图掩盖edi文件上的索引位置...根据情况,我可能会在索引上放置2或3个东西。使用一个枚举隐藏“幻数”会很酷,并且惊讶地看到您可以将多个枚举分配给相同的值,如下所示:public enum Color{ Red = 1, Blue = 1, Green = 1}编译器对此很满意。我没想到这行得通。我不需要回退到枚举,因此我不必担心尝试返回,但这听起来很时髦。为什么CLR允许枚举有多个值,我应该为此使用结构吗?(一个结构似乎比枚举更重,这似乎行得通)
3 回答
HUWWW
TA贡献1874条经验 获得超12个赞
那是完全合法的C#。从C#语言规范版本4.0,第14.3节:
多个枚举成员可以共享相同的关联值。这个例子
enum Color
{
Red,
Green,
Blue,
Max = Blue
}
显示一个枚举,其中两个枚举成员Blue和Max具有相同的关联值。
开心每一天1111
TA贡献1836条经验 获得超13个赞
相同的数值但名称不同,别无其他。可能是例如
public enum Color
{
DefaultColor = 1,
Red = 1,
Blue = 2
}
在某些情况下可能有意义,但在很多情况下却没有意义。当您将这些值解析回并调用colorValue.ToString()时,您将获得最后一个作为字符串化值的值(在本例中为Red),但是您将失去默认颜色的概念,因为这是同一回事。至少以您建模数据的方式。如果要将其分开,则对不同的内容使用不同的值。
- 3 回答
- 0 关注
- 261 浏览
添加回答
举报
0/150
提交
取消