三項演算子対/他の場合
質問
評価時間を考慮すると、2つの同等以下の通りですか?
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
それとも、単に構文的に異なっている?
解決
の違いは、後者局はの条件に基づいての値を返す。
に使用できることですたとえば、次の文を持っている場合:
if (SomeCondition())
{
text = "Yes";
}
else
{
text = "No";
}
三項演算子を使用して、次のように記述します:
text = SomeCondition() ? "Yes" : "No";
なお、第1の例では、はステートメントを実行する方法の条件に基づいて、第二の一方はは値を返しながらの条件に基づいています。
他のヒント
うーん...前者の場合、あなたはcode1
とcode2
の代わりに、コードの任意の量や種類(文の対式)を持つことができます。後者の場合、彼らは有効な式にする必要があります。
はい&はいています。
唯一の利益は、コードの行を保存することです。
はい、これらは二つの異なる構文形式であり、同様に動作し、最もlikey同一のコードは、コンパイラによって放出される。
所属していません StackOverflow