代码改变世界

如何在C#中循环一个枚举

2013-09-04 20:59  quanhb  阅读(1605)  评论(0编辑  收藏  举报

 

在C#中要想迭代循环一个枚举,最容易想到的办法是直接进行循环,如下代码所示:
 
public enum Suit
{
    Spades,
    Hearts,
    Clubs,
    Diamonds
}
public void EnumerateAllSuitsDemoMethod()
{
    foreach (Suit suit in Suit)
    {
        DoSomething(suit);
    }
}

但却会编译不通,提示:“MyClass.Suit”是“类型”,但此处被当做“变量”来使用
image

可以通过以下办法解决:

foreach (Suit suit in Enum.GetValues(typeof(Suit)))
{
    DoSomething(suit);   
}
本文整理自:http://stackoverflow.com/questions/105372/how-do-i-enumerate-an-enum