C# Enum.GetValues 并不是字面意思

假如有枚举:

public enum Itpow
{
    Item1 = 1,
    Item2 = 2
}

先说  Enum.GetNames(typeof(Itpow))

这个非常好理解,返回的是 string[],值为 Item1、Item2。

再说 Enum.GetValues(typeof(Itpow))

这就出乎人的意料了。

1、返回的不是 int[],而是 Array

2、Array 中的项不是 int,而是枚举项

values.GetValue(i).ToString() 返回的是 Name,即:Item1、Item2。

(int)values.GetValue(i) 返回的是 Value,即:1、2。

你可能感兴趣的