在C#中要想迭代循环一个枚举,最容易想到的办法是直接进行循环,如下代码所示:
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public void EnumerateAllSuitsDemoMethod()
{
foreach (Suit suit in Suit)
{
DoSomething(suit);
}
}
但却会编译不通,提示:“MyClass.Suit”是“类型”,但此处被当做“变量”来使用
可以通过以下办法解决:
foreach (Suit suit in Enum.GetValues(typeof(Suit)))
{
DoSomething(suit);
}
本文整理自:http://*.com/questions/105372/how-do-i-enumerate-an-enum