以下のアルゴリズムがではないと等しい場合がありますか?* =解決後の理由+
int var1 = 2;
int var2 = 5;
int var3 = 7;
// Scenario 1
var1 *= var2 + var3; // <-- 24
// Scenario 2
var1 = 2;
var1 *= (var2 + var3); // <-- 24
msdn site状態は次ので、私が尋ねる理由は次のとおりです。
これらの演算子は、次のセクションと前のセクションよりも低い優先順位よりも高い優先順位を持っています。
しかし、私のテストから、これは決してそうは思われませんか?括弧がなくても、かっこがあるかのように解決されるようです。
私はアルゴリズムに等しいだろうと思ったのでしょう。だから何がMSDNサイトによって意味されるとどのような場合には、その文が真である
// Scenario 1
var1 = var1 * var2 + var3; // <-- 17
//Scenario 2
var1 = var1 * (var2 + var3); // <-- 24
?テストのための
C#のフィドル:
https://dotnetfiddle.net/Yt5ZBO
バイナリ演算子 '* ='の方が、バイナリ演算子 '+'よりも優先順位が低くなります。 – zerkms
@zerkms msdnサイトが間違っていますか?または私はここで何かを忘れていますか? – Zze
間違っていません。それはなぜです? – zerkms