我有以下演员:
int myInteger = (int)myItem.EnumValue;
Run Code Online (Sandbox Code Playgroud)
枚举是:
public enum EnumValue
{
Yes= 0,
No = 1
}
Run Code Online (Sandbox Code Playgroud)
根据我的观察,似乎当未设置myItem上的EnumValue时,EnumValue的值默认设置为Yes,然后转换为0.
为什么枚举不为空?我的观察是否正确,为什么会这样?
Enum是值类型,所以就像int它们和其他值类型一样,它们不能为空.相反,它们的默认值相当于0(因为您已将枚举值指定Yes为0,在这种情况下,这是默认值).
如果你想要一个可以为空的枚举,请使用Nullable<EnumValue>或EnumValue?简称.
进一步阅读
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |