如何将枚举设置为空?

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

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

我有一个枚举

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;

扫码关注云+社区