2014-02-06 90 views
1

是否有可能創建一個枚舉值的字典? 以下示例是我需要的。枚舉如何從Enum創建字典?

key = 0, value = "Unknown" 
key = 1, value = "Another" 
etc.. 

代碼片段

public enum MyEnum 
{ 
    Unknown = 0, 
    Another = 1, 
    ... 
} 

我嘗試

var values = Enum.GetValues(typeof(MyeNum)); 
var namesames = Enum.GetNames(typeof(MyeNum)); 


// Save values 
foreach (var i in values) 
{ 
    dictionaryList.Add(i, ""); 
} 

回答

5
Dictionary<int, string> values = 
    Enum.GetValues(typeof(MyEnum)) 
     .Cast<MyEnum>() 
     .ToDictionary(e => (int)e, e => e.ToString()); 
+1

基於OP,它看起來像你有鑰匙​​和價值交換。 –

+0

@ledbutter你是對的,謝謝!沒有注意到(可能在第一次編輯問題時不清楚) –

+1

是的謝謝,我注意到這一點。這是一個非常好的代碼片段。謝謝! –

0
Dictionary<int, string> dict = new Dictionary<int, string>(); 

foreach (var v in Enum.GetValues(typeof(MyEnum))) 
    dict.Add((int)v, v.ToString());