条件式で null 許容のブール値をチェックする最良の方法 (if ...) [closed] 質問する

条件式で null 許容のブール値をチェックする最良の方法 (if ...) [closed] 質問する

null 許容ブール値の条件チェックを行うための最もクリーンでわかりやすい構文は何だろうと考えていました。

次のコーディング スタイルは良いですか、それとも悪いですか? 条件をより良く、よりきれいに表現する方法はありますか?

bool? nullableBool = true;
if (nullableBool ?? false) { ... }
else { ... }

特にif (nullableBool ?? false)の部分。スタイルが気に入りませんif (x.HasValue && x.Value)...

(この質問が以前に行われたかどうかはわかりません...検索しても似たようなものは見つかりませんでした)

ベストアンサー1

多くの人は、この値が null 可能であるという事実に集中し、実際に何が欲しいのか考えていないと思います :)

bool? nullableBool = true;
if (nullableBool == true) { ... } // true
else { ... } // false or null

または、さらにオプションが必要な場合...

bool? nullableBool = true;
if (nullableBool == true) { ... } // true
else if (nullableBool == false) { ... } // false
else { ... } // null

(nullableBool == true)bool? が null の場合は true を返しません :P

おすすめ記事