在C#中,检查可为null的bool是否为true的最快方法是什么



想知道是否有更简单的方法来检查可为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)) 
{
}

相关内容

最新更新