枚举重复值给出重复的名称

本文关键字:枚举 | 更新日期: 2023-09-27 18:24:05

在开始为enum实现重复值的逻辑之前,我在这里读了几个问题,但随后我面临以下问题:

我有以下枚举:

public enum Features
{
    X1= 3,
    X2= 3,
    X3= 6,
    X4= 6,
    X5= 6,
    X6= 6,
    X7= 10,
    X8= 10,
}

在那之后,我尝试创建一个这样的列表:

var features = new List<Features>(){X1,X2,X3,X5,X6,X7,X8};

当我在调试模式下查看该列表时,该列表包含以下枚举:

X1,X1,X3,X3,X3,X7,X7

为什么会发生这种情况,它是否隐式调用GetName()?这个问题有解决办法吗?

枚举重复值给出重复的名称

我认为没有一个好的方法来使用枚举器,因为枚举器是封装整数的别名。

为什么要使用不同的别名来封装相同的数字?

https://msdn.microsoft.com/en-us/library/sbbt4032.aspx