В чем разница между этими унарными операторами в C#? , Можете ли вы предоставить мне пример?Разница унарных операторов (+ =, = +, ++ x, x ++)
Укажите, пожалуйста, имя каждого из них. :)
+ = против = +
++ х против х ++
В чем разница между этими унарными операторами в C#? , Можете ли вы предоставить мне пример?Разница унарных операторов (+ =, = +, ++ x, x ++)
Укажите, пожалуйста, имя каждого из них. :)
+ = против = +
++ х против х ++
Это без сомнения, был дан ответ раньше, но все равно ...
Они отличаются тем, как они изменяют значение и как они возвращают результат.
Первые два +=
и =+
ведут себя так, что первый приращает переменную, а другой устанавливает переменную. Они не связаны. Обратите внимание на следующий код:
// +=
x = 1;
printf(x += 1); // outputs 2, the same as x = x+1
printf(x); // outputs 2
// =+
x = 1;
printf(x =+ 1); // outputs 1, the same as x = 1;
printf(x); // outputs 1
Следующих два, ++x
и x++
, различаются в порядке их функция. ++x
увеличит вашу переменную на 1 и вернет результат. x++
будет возвращать результат и приращение на 1.
// ++x
x = 1;
printf(++x); // outputs 2, the same as x = x+1
printf(x); // outputs 2
// x++
x = 1;
printf(x++); // outputs 1
printf(x); // outputs 2
Они в основном полезны для for
петель и while
петель.
С точки зрения скорости, ++x
считается намного быстрее, чем x++
с момента x++
необходимо создать внутреннюю временную переменную для хранения значения, приращение главной переменной, но возвращает временную переменную, в основном используются несколько операций. Я узнал об этом в последнее время, я не знаю, применяется ли оно еще до сих пор.
Let's визуализировать первые, + = и = +.
Потому что "+" это действие, а "=" это назначение, так
+ = является добавление ДО присвоения
= + является другой способ: добавить ПОСЛЕ назначения
Аналогично,
++ х "то приращение возврата"
x ++ - «возврат затем увеличение»
На каком языке? –
@remyabel: Я уверен, что эти операторы будут вести себя одинаково независимо от языка. – nxasdf