我有以下演员表:
int myInteger = (int)myItem.EnumValue;
枚举在哪里:
public enum EnumValue
{
Yes= 0,
No = 1
}
根据我的观察,似乎未设置myItem上的EnumValue时,默认情况下EnumValue的值设置为Yes,然后强制转换为0。
为什么枚举不为空?我的观察正确吗,为什么会这样呢?
Enum
的是值类型,因此就像int
的值和其他值类型一样,它们不能为null。相反,它们的默认值等于0(因为您已将枚举值分配Yes
为0,所以在这种情况下为默认值)。
如果要使用可为空的枚举,请使用Nullable<EnumValue>
或EnumValue?
简称。
进一步阅读
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句