簡體   English   中英

在C#中檢查可空布爾是否正確的最快方法是什么?

[英]What is the fastest way to check for nullable bool being true in C#?

想知道是否有更簡單的方法來檢查可為空的布爾值是否為真。

我發現自己在做這樣的代碼很多,而這真的很龐大。 有更快的方法嗎?

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)) 
{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM