さらに、三次演算子は本質的に式を装ったステートメントであるため、次のようにすることができます。
x = (y == true) ? "foo" : "bar";
string instructions = "Please can somebody go and get me a " + x;
これを次のように変換します。
string instructions = "Please can somebody go and get me a " +
((y == true) ? "foo" : "bar");
追加の括弧が必要であることに注意してください。理由がわからない場合は、自分でコンパイルしてみてください。
これは非常に便利な機能で、私は常に使用しています。副作用のある式や、可読性を低下させる過度に複雑な式を記述しないように他の人が言及しているように、注意してください。
少し関係のないメモですが、念のため、このようなコードを書かないでください (私は何度も見てきました):
if (y == true) {
weWantAFoo = true;
}
else {
weWantAFoo = false;
}
代わりにこれを行う必要があります:
bool weWantAFoo = (y==true);
これは、ステートメント以外の場所で条件ステートメントを使用するもう 1 つの例ですif
。