提问人:B.Balamanigandan 提问时间:1/4/2016 更新时间:1/6/2022 访问量:26915
如何在 C# 中将 null 类型转换为布尔?
How to Type Cast null as Bool in C#?
问:
我有一个可为 null 的 bool () 变量,它包含一个值 null。另一个纯类型的变量,我试图将可为空的布尔转换为布尔。但是我遇到了一个错误“Nullable 对象必须有一个值。bool?
bool
"
我的 C# 代码是
bool? x = (bool?) null;
bool y = (bool)x;
答:
40赞
Kirill Shlenskiy
1/4/2016
#1
用于在以下情况下将默认值 ( for ) 分配给 。x.GetValueOrDefault()
false
System.Boolean
y
x.HasValue == false
或者,您可以使用空合并运算符 (??),如下所示:
bool y = x ?? false;
评论
0赞
Ken Kin
3/9/2019
我主要使用替代方法..:)
-1赞
Mangukiya Hardik
1/4/2016
#2
如果我有一个属性布尔值
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
这应该可以解决您的错误。
希望这会有所帮助
0赞
pasx
1/6/2022
#3
使用布尔常量检查是否相等是一个方便的快捷方式:
var x = (bool?) null;
var y = x == true;
评论
null
bool
x
GetValueOrDefault()