gpt4 book ai didi

.net - Nullable Enum 可空类型问题

转载 作者:行者123 更新时间:2023-12-04 02:37:26 25 4
gpt4 key购买 nike

我使用以下源代码收到以下编译错误:

编译错误:

无法确定条件表达式的类型,因为 '' 和 'MyEnum' 之间没有隐式转换

源代码

public enum MyEnum
{
Value1, Value2, Value3
}

public class MyClass
{
public MyClass() {}
public MyEnum? MyClassEnum { get; set; }
}

public class Main()
{
object x = new object();

MyClass mc = new MyClass()
{
MyClassEnum = Convert.IsDBNull(x) : null ?
(MyEnum) Enum.Parse(typeof(MyEnum), x.ToString(), true)
};
}

我该如何解决这个错误?

最佳答案

我认为你只需要转换 Enum.Parse 的结果至 MyEnum? .至少可空整数就是这种情况。例如。:

int? i;
i = shouldBeNull ? null : (int?) 123;

所以:
MyClassEnum = Convert.IsDBNull(x)
? null
: (MyEnum?) Enum.Parse(typeof(MyEnum), x.ToString(), true)

关于.net - Nullable Enum 可空类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426497/

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