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