私は最近、速記のifステートメントを発見し、オンラインで検索した後、明確な答えを見つけることができませんでした。
条件が真/偽の場合、2つのステートメントを実行することは可能ですか?
int x = (expression) ? 1 : 2;
例えば
int x = (expression) ? 1 AND 2 : 3;
彼らがそれを使用した例に出くわしたことがないので、それは不可能だと思いますが、見逃したくありません。
私は最近、速記のifステートメントを発見し、オンラインで検索した後、明確な答えを見つけることができませんでした。
条件が真/偽の場合、2つのステートメントを実行することは可能ですか?
int x = (expression) ? 1 : 2;
例えば
int x = (expression) ? 1 AND 2 : 3;
彼らがそれを使用した例に出くわしたことがないので、それは不可能だと思いますが、見逃したくありません。
あなたは条件付き代入について話している。あなたが書いたものによって定義されているものを見るべきです:
int x = (expression) ? 1 AND 2 : 3;
つまり、「式」を評価し、真の場合は「1 AND 2」を実行してから値を x に代入します。'expression' が false と評価された場合、'3' が評価され、x に割り当てられます。したがって、間違いなく次のようなことができます。
int x = (expression) ? GetInt1() + GetInt2() : 345;
重要なのは、見つけたものが単なる省略形の if ではないということです。条件付き代入です。
ステートメントで 2 つの値を返すことはできません。それが 3 値のすべてです。値を返すメソッド persay であれば省略形ではありません