我有一个无效的bool(bool?
)变量,它保持一个值null。还有一个纯bool
类型的变量,我试图将无效bool转换为bool。但是我遇到了一个错误" Nullable对象必须有一个值。"
我的C#代码是
bool? x = (bool?) null;
bool y = (bool)x;
答案 0 :(得分:20)
在x.GetValueOrDefault()
的情况下,使用false
将System.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
这应该可以修复你的错误。
希望这会有所帮助