c# - 可空变量类型 - .value 成员

标签 c# types nullable member

我想知道 - 我什么时候想在可空类型上使用 .Value 成员而不是仅仅调用变量本身?

例如..

bool ? b = 真;

为什么我要使用 b.Value 来获取值而不是只使用 b? .Value 调用增加了什么优势或功能?

最佳答案

value 属性是只读的,将返回实际的值类型。 value 属性永远不能为 null。

如果您希望有一个可为 null 的返回值,请检查 .HasValue,然后引用 Value。例如,如果您想将 Nullable 的值分配给普通的 bool,那么您必须引用它的值:

bool? nullableBool = null;

if (nullableBool.HasValue)
{
    bool realBool = nullableBool.Value;
}

但是,以下不会编译:

bool? nullableBool = true;
bool realBool = nullableBool; // Won't work

关于c# - 可空变量类型 - .value 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1202705/

相关文章:

c# - 构造具有不同输出的 C# 代码,唯一的区别应该是 Nullable<int> 与 int?

java - Kotlin 中的方法的返回类型应该是什么,该方法的值可以为 null 并且将从 Java 调用?

c# - ASP.NET Core DI 构造函数与 RequestServices

c# - 使用带有新 OAuth 的 C# TweetSharp 发布更新

Java 泛型扩展仍然会生成未经检查的强制转换警告

c++ - decltype(std::get<0>(tup)) 到底是什么?

c# - 如何将 nullable int 转换为 nullable short?

C# Visio Interop,未调用事件处理程序

c# - Azure DefaultAzureCredential 正在尝试在开发环境中从 169.254.169.254 获取 oauth token

c - 这个C函数声明是什么意思?