В 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).