内容来自 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)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐