質問

評価時間を考慮すると、2つの同等以下の通りですか?

if(condition1)
{
    //code1
}
else
{
    //code2
}

condition1 ? code1 : code2

それとも、単に構文的に異なっている?

役に立ちましたか?

解決

の違いは、後者局はの条件に基づいての値を返す。

に使用できることです

たとえば、次の文を持っている場合:

if (SomeCondition())
{
    text = "Yes";
}
else
{
    text = "No";
}

三項演算子を使用して、次のように記述します:

text = SomeCondition() ? "Yes" : "No";

なお、第1の例では、はステートメントを実行する方法の条件に基づいて、第二の一方はは値を返しながらの条件に基づいています。

他のヒント

うーん...前者の場合、あなたはcode1code2の代わりに、コードの任意の量や種類(文の対式)を持つことができます。後者の場合、彼らは有効な式にする必要があります。

はい&はいています。

唯一の利益は、コードの行を保存することです。

はい、これらは二つの異なる構文形式であり、同様に動作し、最もlikey同一のコードは、コンパイラによって放出される。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top