Есть ли когда-либо какой-либо cuircumstance, где следующие алгоритмы: не равно?Почему * = решить после +
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 гласит следующее:
Эти операторы имеют более высокий приоритет , чем в следующем разделе и более низкий приоритет, чем в предыдущем разделе.
Однако, по моему тестированию, похоже, что это не так? И это даже без скобок, кажется, решает, как будто у него есть скобки.
Я бы мысли о том, что алгоритмы будут равны:
// Scenario 1
var1 = var1 * var2 + var3; // <-- 17
//Scenario 2
var1 = var1 * (var2 + var3); // <-- 24
Так что подразумевается под сайт MSDN и в каких случаях их утверждение верно?
C# скрипку для тестирования:
https://dotnetfiddle.net/Yt5ZBO
Двоичный оператор '* =' имеет более низкий приоритет, чем двоичный оператор '+'. – zerkms
@zerkms, поэтому сайт msdn не так ли? или я что-то пропустил? – Zze
Это не так. Почему это? – zerkms