В C# вы можете поместить операторы приращения ( ) и декремента ( — ) либо до, либо после переменной. Размещение оператора перед переменной называется префиксом (pre-increment), а использование оператора после переменной называется пост-инкрементом (post-increment). Ниже приведены примеры:
i++; // post-increment (postfix) ++i; // pre-increment (prefix) i--; // post-increment (postfix) --i; // pre-increment (prefix)
Разница между пре-инкрементом и пост-инкрементом в C-Sharp
Нет никакой разницы, используете ли вы префиксную или постфиксную форму; значение переменной увеличится на 1. Тогда вам должно быть интересно, почему есть два способа сделать одно и то же. Вот ответ: значение, возвращаемое i++, является значением (i) до того, как происходит приращение, тогда как значение, возвращаемое ++i, является значением (i) после того, как происходит приращение. Ниже приведен пример:
using System;class Hello { static void Main(string[] args) { int i, j; // post-increment example i = 0; j = i++; Console.WriteLine("The value of j (i++): " + j); Console.WriteLine("The value of i (i++): " + i); // pre-increment example i = 0; j = ++i; Console.WriteLine("The value of j (++i): " + j); Console.WriteLine("The value of i (++i): " + i); } }
Выход
- Значение j (i++): 0
- Значение i (i++): 1
- Значение j (++i): 1
- Значение i (++i): 1
- Нажмите любую клавишу для продолжения . . .
Вы также можете помнить, что в выражении i сначала идет переменная (i), поэтому ее значение используется как значение выражения до того, как (i) будет увеличено. В выражении i оператор стоит первым, поэтому его действие выполняется перед значением (i).