如何枚举一个枚举?

内容来自 DOC https://q.houxu6.top/?s=如何枚举一个枚举?

如何在C#中枚举一个enum

例如,以下代码无法编译:

public enum Suit
{
    Spades,
    Hearts,
    Clubs,
    Diamonds
}

public void EnumerateAllSuitsDemoMethod()
{
    foreach (Suit suit in Suit)
    {
        DoSomething(suit);
    }
}

它会给出以下编译时错误:

'Suit'是一个'类型',但像是一个'变量'一样使用。

它在Suit关键字上失败。


更新:如果你正在使用 .NET 5 或更新版本,请使用这个解决方案。

foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit)))
{
}

注意:将 (Suit[]) 转换为数组并不是严格必要的,但它确实可以使代码快 0.5 纳秒。(https://gist.github.com/bartoszkp/9e059c3edccc07a5e588#gistcomment-2625454)

posted @ 2023-10-16 21:09  小满独家  阅读(17)  评论(0)    收藏  举报