给定一个这样的枚举:
public enum City {
London = 1,
Liverpool = 20,
Leeds = 25
}
public enum House {
OneFloor = 1,
TwoFloors = 2
}
我使用以下代码给我一个 IEnumerable:
City[] values = (City[])Enum.GetValues(typeof(City));
var valuesWithNames = from value in values
select new { value = (int)value, name = value.ToString() };
该代码工作得很好,但是我必须对很多枚举执行此操作。有没有办法创建一个通用的方法来做到这一点?
使用乔恩·斯基特的天马行空的旋律.
using UnconstrainedMelody;
您可以将枚举值放入Dictionary<int, string>
然后枚举它们:
var valuesAsDictionary = Enums.GetValues<City>()
.ToDictionary(key => (int)key, value => value.ToString());
但您可能甚至不需要这样做。为什么不直接枚举这些值:
foreach (var value in Enums.GetValues<City>())
{
Console.WriteLine("{0}: {1}", (int)value, value);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)