如何将枚举设置为空?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (27)

我有一个枚举

string name;

public enum Color
{
  Red,
  Green,
  Yellow
}

如何在加载时将其设置为NULL。

name = "";
Color color = null; //error
提问于
用户回答回答于

可以将“?”运算符用于可空类型。

public Color? myColor = null;

或者使用不能为NULL的枚举的标准实践,方法是将枚举中的第一个值(又名0)作为默认值。例如,在颜色为无的情况下。

public Color myColor = Color.None;
用户回答回答于

如果这是C#,它就不能工作:枚举是值类型,不能null...

通常的选项是添加None成员:

public enum Color
{
  None,
  Red,
  Green,
  Yellow
}

Color color = Color.None;

...或者用Nullable:

Color? color = null;

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • 杰西

    5 粉丝1 提问4 回答
  • 浮生长恨欢娱少

    个人站长 · 站长 (已认证)

    51 粉丝2 提问4 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答

扫码关注云+社区