gpt4 book ai didi

c# - Enum 可以包含其他 Enum 吗?

转载 作者:太空狗 更新时间:2023-10-30 00:43:30 24 4
gpt4 key购买 nike

Enum 可以包含其他 Enum 元素加上它自己的元素吗?

public enum CardSuit
{
spades,
hearts,
diamonds,
clubs
}

public enum GameSuit
{
spades, // These are
hearts, // the same
diamonds, // " CardSuit "
clubs, // elements

suns // " GameSuit " special element
}

我们能否在 GameSuit 中包含 CardSuit 而无需重复输入相同的元素?

最佳答案

遗憾的是,没有很好的解决方案来满足您使用枚举的需求。您可以尝试其他选项,例如特定“类枚举”类型的一系列 public static readonly 字段:

public class CardSuit 
{
public static readonly CardSuit Spades = new CardSuit();
public static readonly CardSuit Hearts = new CardSuit();
...
}

public enum GameSuit : CardSuit
{
public static readonly GameSuit Suns = new GameSuit();
}

在实践中,尽管没有 switch 语句支持,这在大多数情况下也能正常工作。用法可能是这样的:

var cardSuit = ...;
if (cardSuit == CardSuit.Spades || cardSuit == GameSuit.Suns) { ... }

关于c# - Enum 可以包含其他 Enum 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com