コードをリファクタリングしている間に、私のコードでは、すべての if not null 条件が多数決に従うように変更しました。
if (!(foo == null))
の代わりに
if (foo != null)
どちらの文言にも利点があるのでしょうか?
c#では、どちらの文も利点がありますか?
もし、壊れた ==
/ !=
演算子のオーバーロードがないと仮定すると、私は単純さと読みやすさのために、2番目の形式を使用します。もし、この2つの間に意味上の違いがあるような、壊れたオーバーロードがあるのなら、そのオーバーロードを修正することをお勧めします :)
まれに、foo == null
の方が何かとわかりやすい場合は、ローカル変数を使用するようにリファクタリングすると思います。
bool somethingIsMissing = foo == null;
if (!somethingIsMissing)
{
...
}
foo == null` を囲む括弧はオプションになりました - 好みに応じて使用するかしないかを決めてください。要は、変数名を使って意味づけを 本当に 明確にすることができるのです。