2009-11-16 146 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);