次のコードは良いスタイルですか。オブジェクトが null の場合、2 番目の述語が実行されないと常に想定できますか?
if(someObject == null || someObject.Count == 0)
{
//do something
}
次のコードは良いスタイルですか。オブジェクトが null の場合、2 番目の述語が実行されないと常に想定できますか?
if(someObject == null || someObject.Count == 0)
{
//do something
}
はい。||
つまり、true を返す (最初のオペランドが true である) ことを十分に認識している場合、2 番目のオペランドを評価せず、すぐに true を返します。
&&
同様です - 最初のオペランドが false を返す場合、2 番目をチェックせずにすぐに false を返します。
正しい。左の式が評価されるとtrue
、右の式は評価されません。両方を確実に評価したい場合は、ビットごとのOR演算子を使用でき|
ます。
if(someObject == null | someObject.Count == 0)
{
//do something
}
これには注意してください。常に期待どおりの結果が得られるとは限りません。
はい。||
C# ショート サーキットの演算子。最初の条件が満たされない場合、次の条件は実行されません。