長い間、私はそれを理解していると思っていました.c# での演算子の優先順位のトピックについて、「学生」の何人かを学ぶためにいくつかのパズルを作成するつもりでした. しかし、私はまだそれを正しく理解していないことがわかりました。</p>
パズル: ここでの出力は何ですか?
int a = 0;
int x = --a + a++;
Console.WriteLine(x);
Console.WriteLine(a);
出力:
-2 0
ここですべてクリア、私はこれを期待していました
次に、問題の 1 つ:
int b = 0;
int y = b-- + b++;
Console.WriteLine(y);
Console.WriteLine(b);
出力:
-1 0
さて、ここでも y が -2 であることを期待していました…今、演算子の優先順位規則と評価の順序を適用しようとしていますが、自分で説明したかどうかはわかりません。今日、この投稿を何度か読み直しましたが、それでもよくわかりません。なぜ結果が -1 なのですか? 2番目の結果がどのように評価されるかを誰かが手伝ってくれますか? 最初のものとはなぜ、どのように違うのですか?