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

如何在C#中键入Cast null作为Bool?,c#,casting,boolean,nullable,C#,Casting,Boolean,Nullable,我有一个null able bool(bool?)变量,它包含一个null值。还有一个类型为purebool的变量,我尝试将null-able bool转换为bool。但我遇到了一个错误“可空对象必须有一个值。” 我的C#代码是 如果x.HasValue==false,则使用x.GetValueOrDefault()将System.Boolean的默认值(false)分配给y 或者,您可以使用空合并运算符(??),如下所示: bool y = x ?? false; 如果我有一个布尔属性 If

我有一个null able bool(
bool?
)变量,它包含一个null值。还有一个类型为pure
bool
的变量,我尝试将null-able bool转换为bool。但我遇到了一个错误“可空对象必须有一个值。

我的C#代码是


如果
x.HasValue==false
,则使用
x.GetValueOrDefault()
System.Boolean
的默认值(
false
)分配给
y

或者,您可以使用空合并运算符(??),如下所示:

bool y = x ?? false;

如果我有一个布尔属性

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
这应该可以修复你的错误


希望这有帮助

您的值为
null
…它没有要强制转换的
bool
值-如果您希望在
x
为null时为类型指定默认值,请使用
GetValueOrDefault()
方法。我主要使用替代方法:)
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