gpt4 book ai didi

c# - 枚举未设置时会发生什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:43 24 4
gpt4 key购买 nike

我有以下类型转换:

int myInteger = (int)myItem.EnumValue;

枚举在哪里:

public enum EnumValue
{
Yes= 0,
No = 1
}

根据我的观察,似乎当未设置 myItem 上的 EnumValue 时,EnumValue 的值默认设置为 Yes,随后转换为 0。

为什么枚举不为空?我的观察是否正确,为什么会这样?

最佳答案

Enum是值类型,所以就像 int的和其他值类型,它们不能为空。相反,它们的默认值相当于 0(因为您已将 Yes 的枚举值分配给 0,所以在本例中这是默认值)。

如果你想要一个可为 null 的枚举,请使用 Nullable<EnumValue>EnumValue?简称。

延伸阅读

关于c# - 枚举未设置时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682941/

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