如何在C#中键入Cast null作为Bool?

时间:2016-01-04 05:48:36

标签: c# casting boolean nullable

我有一个无效的bool(bool?)变量,它保持一个值null。还有一个纯bool类型的变量,我试图将无效bool转换为bool。但是我遇到了一个错误" Nullable对象必须有一个值。"

我的C#代码是

bool? x = (bool?) null;
bool y = (bool)x;

2 个答案:

答案 0 :(得分:20)

x.GetValueOrDefault()的情况下,使用falseSystem.Boolean的默认值(y)分配给x.HasValue == false

或者你可以使用null-coalescing运算符(??),如下所示:

bool y = x ?? false;

答案 1 :(得分:0)

如果我有一个属性boolean

If (HasData.HasValue) Then
            Dim value As Boolean = HasData.Value
        End If
        ' or you can also do this
        If (HasData IsNot Nothing) Then

    End If

这应该可以修复你的错误。

希望这会有所帮助