2014-02-06 62 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());