在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