2009-11-16 253 views
4

要枚举转换为可枚举的,我用转换枚举来枚举

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

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

只是我想知道它是否是一个有效的转换与否(代码工作)。

回答

4

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

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