想知道是否有更简单的方法来检查可为null的bool是否为true。
我发现自己经常做这样的代码,这变得非常庞大。有更快的方法吗?
bool? x = false;
if (x.hasValue && x.Value) ...
似乎必须有一种更快速的方法来检查真正的
使用GetValueOrDefault
:
if(x.GetValueOrDefault(false))
您也可以将其用于其他类型。
if (x == true)
这应该有效,并且是最短的
可能很多开发人员对此并不熟悉,但您可以使用null联合运算符(??),如下所示:
int? x = null;
// Set y to the value of x if x is NOT null; otherwise,
// if x = null, set y to -1.
int y = x ?? -1;
用于状态检查:-
if (nullableBool ?? false) { ... }
另一个选项是GetValueOrDefault方法
if (nullableBool.GetValueOrDefault(false))
{
}