1

有没有办法迭代枚举类型中的元素?就像是:

public enum MyEnum
{
   One,
   Two,
   Three,
}

foreach(var temp in MyEnum)
{
    //Do something
}

我可以通过反思或其他方式吗?

4

4 回答 4

3

使用System.Array Enum.GetValues(Type)方法。

 foreach(var temp in Enum.GetValues(typeof(MyEnum)))
  {
      //code
   }
于 2012-08-30T10:00:03.360 回答
2

使用Enum.GetValues(typeof(MyEnum))

foreach(MyEnum temp in Enum.GetValues(typeof(MyEnum))) 
{ 
    //Do something 
}

请注意:我使用MyEnum temp而不是var temp,因为GetValues不返回强类型数组。

于 2012-08-30T10:00:01.630 回答
0
foreach (var name in Enum.GetNames(typeof(MyEnum))
于 2012-08-30T10:00:31.160 回答
0
var test = Enum.GetValues(typeof(MyEnum));
foreach (MyEnum e in test)
{
    Console.Write(e);
}

请参阅Enum.GetValues

于 2012-08-30T10:01:02.067 回答