c# - 当我知道它不为空时,是否需要这种显式转换?

标签 c# casting null

我有以下内容:

MyEnum? maybeValue = GetValueOrNull();

if (null != maybeValue)
{
    MyEnum value = (MyEnum)maybeValue;
}

我想知道的是,对于 MyEnum? 类型的实例,显式 (MyEnum) 转换是否必要。这似乎是一个简单的问题,我只是觉得如果我只是在 if 语句中执行 MyEnum value = maybeValue 可能会出现一些运行时错误。

最佳答案

对于可空类型,你可以这样做

if (maybeValue.HasValue)
{
    MyEnum value = maybeValue.Value;
}

关于c# - 当我知道它不为空时,是否需要这种显式转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1929063/

相关文章:

MySQL/MariaDB 等式为 null 不起作用

c# - 通过用户输入扩展枚举

快速将 bool 转换为 NSRange

c# - 扩展方法和显式转换

c++ - 如何在 VS2012 中将自定义类型转换为字符串?

null - 为什么取消引用空原始指针未定义行为?

Java,为什么不能使用null作为包名?

c# - 如何使用 LINQ 查找字典列表中每个键的最大值?

c# - ASP.NET VNext 是云优化的是什么意思?

c# - 为什么这个 RETURNING INTO 子句会返回一个错误?