将枚举转换为不可数

时间:2009-11-16 13:14:30

标签: c# enums enumeration

要将Enum转换为Enumerable,我使用

public enum Flags
    {
        Trivial=1,
        Minor,
        Major,
        Critical
    }

IEnumerable<int> n = 
Enumerable.Range((int)Flags.Trivial, (int)Flags.Critical).OfType<int>();

我想知道它是否是有效的转换(代码正在运行)。

1 个答案:

答案 0 :(得分:4)

这样你就可以处理一个非连续的枚举:

IEnumerable<int> n = 
    Enum.GetValues(typeof(Flags))
        .OfType<Flags>()
        .Select(e => (int)e);