この質問は、C# だけでなく、短絡 AND 演算子を持つすべてのプログラミング言語に当てはまります。
質問は簡単です - 短絡評価を使用して、範囲外のインデックス例外を回避しています。たとえば、次のようになります。
if ((x > 0) && (bar[x] == foo))
また
if (((x > 0) && (x < bar.Length)) && (bar[x] == foo))
コーディングスタイルが悪い?次のようにループをネストできることはわかっています。
if (x > 0)
{
if (bar[x] == foo)
{
}
}
しかし、非常に読みにくいと思います。