Префикс и постфикс в 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);