オブジェクトは、いくつかの値と等しいかどうかをチェックする場合は、間にいくつかの違いがあります:比較演算子に対するオペランドの順序は重要ですか?
つまりmyObject == someValue
または
someValue == myObject
は、比較演算子のオペランドの順序は重要ではありませんか?コーディングスタイルの問題ですか?
私は前者を使っていましたが、これまでに見たことのない後者を使っているプロジェクトがあります。
例えばif (data != null)
data.Write(writer);
又は
if (null != data)
data.Write(writer);
プロジェクトの一部のメンバーは、後者を使用してきたが、私は、前者を使用しています。
ありがとうございました。
唯一の違いは読みやすさです。ハードコーディングされた値が比較演算子の右側にある場合、ほとんどの人が読みやすくなります。 –
問題はありません。 '(null!= data)'は口語的に "ヨーダ条件"として知られています。私は5年前の私の現在の仕事についてインタビューをしていたfizzの話題に気まぐれなものを使いました。私は通常、他のオペランドがlongメソッド呼び出しであるか、またはそのようなものがある場合にのみそれを行うでしょう、そして、定数を最初に置くことは、判読性を決定的に助けますが、その場合は代わりにローカルに代入する必要があります。 –