如何在C#中键入Cast null作为Bool
本文关键字:Cast null 作为 Bool | 更新日期: 2023-09-27 18:28:47
我有一个可为null的bool(bool?
)变量,它包含一个null值。又有一个纯bool
类型的变量,我试图将可为null的bool转换为bool。但我遇到了一个错误"可为null的对象必须有一个值。"
我的C#代码是
bool? x = (bool?) null;
bool y = (bool)x;
在x.HasValue == false
的情况下,使用x.GetValueOrDefault()
将默认值(false
用于System.Boolean
)分配给y
。
或者,您可以使用空合并运算符(??),如下所示:
bool y = x ?? false;
用布尔常量检查相等性是一种方便的快捷方式:
var x = (bool?) null;
var y = x == true;
如果我有一个属性布尔
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
这应该可以修复你的错误。
希望这对有帮助