从Enum C#获取所有底层ID的列表

时间:2013-09-30 12:48:25

标签: c# enums

我有一个枚举:

public enum Handlers
{
     OnEditProfile = 6100,
     OnResetAllIns = 6103,
     OnHandHistory = 6104,
     OnTransHistory = 6105,
     OnChangeEmail = 6106,
     OnValidateEmailThroughGameServer = 6107
}

我想获得一个列表,如果所有底层ID都是这样的,那么最终结果是这样的:

var allIntegers = new List<int>()
{
     6100,
     6103,
     6104,
     6105,
     6106,
     6107
};

我经历了enum方法,但找不到任何可以完成这项任务的方法。谢谢!

编辑:

Enum.GetValues(typeof(Handlers)).Cast<int>().ToList();

对我来说这看起来是最好的解决方案,但出于某种原因,我不能.Cast<int>().ToList()。如果在这种情况下它确实很重要,我正在使用.Net Framework 4.0。

5 个答案:

答案 0 :(得分:5)

尝试:

Enum.GetValues(typeof(Handlers)).Cast<int>().ToList();

答案 1 :(得分:2)

您可以在一行中解决此问题。

Enum.GetValues(typeof(Handlers)).Cast<int>();

http://msdn.microsoft.com/en-us/library/system.enum.getvalues.aspx

答案 2 :(得分:2)

使用Enum.GetValues

foreach (Handlers handler in Enum.GetValues(typeof(Handlers)))
{
}

答案 3 :(得分:1)

Enum.GetValues(typeof(Handlers));

Read more here

答案 4 :(得分:1)

var list = Enum.GetValues(typeof(Handlers)).Cast<int>().ToList();