VirQ. Операторы ++ и -- в C#
Язык C# входит в ТОП-5
самых популярных языков
программирования
Главная / Целочисленные переменные /
Операторы ++ и --
Статей на сайте: 61

Операторы ++ и --


Ещё их называют операциями инкремента (++) и декремента (--)
Для увеличения числа на 1 можно использовать 3 различных варианта.
[code] a++; //Вариант 1 a += 1; //Вариант 2 a = a + 1; //Вариант 3 [/code]
Рассматривать мы будем вариант №1.

Оператор "++" имеет 2 варианта записи:
[code] a++; //Прибавить 1 после выполнения ++a; //Прибавить 1 до выполнения [/code]
Рассмотрим каждый из них.
В случае a++, когда знаки "++" ставятся после переменной, это означает, что значение переменной будет сперва присвоено/распечатано/использовано, а только потом происходит прибавление 1.
[code] d = 15; b = d++; //Тут b=15, а только после этого d=16 [/code]
Особой смысловой нагрузки данный пример не имеет, но показывает, что сперва выполняется знак "=", а потом уже "++".
Перед выполнение "++" переменная d была равна 15.
Этот тот же пример, если бы было записано так:
[code] d = 15; b = d; //сначала присвоили d += 1; //потом прибавили [/code]
В данном случае мы 3 строки превратили в 2.

В том же случае, когда знак "++" находится перед переменной, то сперва выполняется "++", а только потом "=".
[code] d = 15; b = ++d; //Тут d теперь 16, и b тоже равно 16 [/code]
Равносильный пример был бы таким:
[code] d = 15; d += 1; //сначала прибавили b = d; //потом присвоили [/code]

Рассмотрим забавную запись:
[code] int a = 5; int b = 10; int c = a++ + ++b; //Только не записывайте a+++++b. Это ошибка [/code]
1) Сперва выполнится ++b и станет 11
2) К переменной а, которая сейчас 5 прибавится число 11 и будет переменной с присвоится значение 16
3) Переменная а увеличится на 1
Итого после выполнения 3-ей строки результат будет таким
[code] //a = 6 //b = 11 //c = 16 [/code]

С учётом такого полного описания оператор "--" в объяснении не требуется. Он вычитает 1 из числа. При этом последовательность выполнения и стиль записи точно такой же, как и у "++".
Пример:
[code] int a = 14; a--; //Теперь a = 13 [/code]

Дополнительная информация о том, как вывести результат в консоли или WinForm