Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmNuPP 54 of 436 menu
◀ ▶

Префикс и постфикс в C#

Инкремент и декремент записывают двумя способами. В постфиксном виде знак стоит после имени: num1++. В префиксном виде знак стоит перед именем: ++num1.

В следующем примере первый вывод покажет 0: сначала значение печатается, и только потом переменная увеличивается:

int num1 = 0; Console.WriteLine(num1++); Console.WriteLine(num1);

Теперь переменная увеличивается до вывода:

int num1 = 0; Console.WriteLine(++num1);

Так же устроено присваивание. В num2 попадает старое значение, а num1 увеличивается следом:

int num1 = 0; int num2 = num1++; Console.WriteLine(num2); Console.WriteLine(num1);

В префиксной форме в num2 сразу попадает уже увеличенное значение:

int num1 = 0; int num2 = ++num1; Console.WriteLine(num2);

Если операция стоит на отдельной строке, разницы между формами нет:

int num1 = 0; ++num1; num1++; Console.WriteLine(num1);

Не запуская код, определите, что выведется на экран:

int num1 = 3; Console.WriteLine(++num1);

Не запуская код, определите, что выведется на экран:

int num1 = 3; Console.WriteLine(num1++);

Не запуская код, определите, что выведется на экран:

int num1 = 3; Console.WriteLine(--num1);

Не запуская код, определите, что выведется на экран:

int num1 = 3; Console.WriteLine(num1--);

Не запуская код, определите, что выведется на экран:

int num1 = 3; int num2 = ++num1; Console.WriteLine(num1); Console.WriteLine(num2);

Не запуская код, определите, что выведется на экран:

int num1 = 3; int num2 = num1++; Console.WriteLine(num1); Console.WriteLine(num2);
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить