可空变量类型 - .value成员

Val*_*rie 7 c# types nullable member

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

例如.

布尔?b =真;

为什么我会使用b.Value获取值而不是仅使用b?.Value调用添加了什么优点或功能?

Dan*_*plo 13

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

如果您希望可以为null返回值,则检查.HasValue然后引用Value.例如,如果要将Nullable的值赋给普通bool,则必须引用它的值:

bool? nullableBool = null;

if (nullableBool.HasValue)
{
    bool realBool = nullableBool.Value;
}
Run Code Online (Sandbox Code Playgroud)

但是,以下内容将无法编译:

bool? nullableBool = true;
bool realBool = nullableBool; // Won't work
Run Code Online (Sandbox Code Playgroud)