【问题标题】:Populate dictionary from enum从枚举填充字典
【发布时间】:2013-02-25 18:59:26
【问题描述】:

我有以下枚举:

public enum LifeCycle
{
    Pending = 0,
    Approved = 1,
    Rejected = 2,
}

我想创造

Dictionary<int, string> LifeCycleDict;  

来自enum 值及其toString

有没有办法用 linq 做到这一点?
(相当于 java 的 enum.values ) 谢谢。

【问题讨论】:

标签: linq dictionary enums


【解决方案1】:
Dictionary<int, string> LifeCycleDict = Enum.GetNames(typeof(LifeCycle))
    .ToDictionary(Key => (int)Enum.Parse(typeof(LifeCycle), Key), value => value);

Dictionary<int, string> LifeCycleDict = Enum.GetValues(typeof(LifeCycle)).Cast<int>()
    .ToDictionary(Key => Key, value => ((LifeCycle)value).ToString());

Dictionary<int, string> LifeCycleDict = Enum.GetValues(typeof(LifeCycle)).Cast<LifeCycle>()
    .ToDictionary(t => (int)t, t => t.ToString());

【讨论】:

  • @rails,第一个使用“Enum.GetNames”,第二个使用“Enum.GetValues”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 2018-10-27
相关资源
最近更新 更多