如何在C#中键入Cast null作为Bool?
我有一个null able 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
bool?
)变量,它包含一个null值。还有一个类型为purebool
的变量,我尝试将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