假设我们有以下枚举类
enum City
{
Tokyo,
New_York,
Hong_Kong_China,
Peking,
}
我们需要将其转换为对应的字典集合,其中key
是枚举名称,value
是枚举对象
var CityDic = Enum.GetValues(typeof(City)) //获取枚举值集合
.Cast<City>() //强制映射为City
.ToDictionary(key => key.ToString(), value => value); //转为要求的字典类型
结果如下
结合这篇文章使用特性(Attribute)来汉化枚举类,我们可以做更多的事情
var CityDic = Enum.GetValues(typeof(City))
.Cast<City>()
.ToDictionary(key => key.GetChinese(), value => value); //使用中文对应
效果如下