Унарные операторы
| Оператор | Действие |
| + X | Унарный плюс. Это знак числа X. Он использован по умолчанию. |
| ++X | Префиксная форма инкремента. Увеличение X на 1 перед использованием. |
| X ++ | Постфиксная форма инкремента. Увеличение X на 1 после использования. |
| - X | Унарный минус. Это знак числа X. |
| -- X | Префиксная форма декремента. Уменьшение X на 1 перед использованием. |
| X -- | Постфиксная форма декремента. Уменьшение X на 1 после использования. |
| ! X | Логическое отрицание. Унарный оператор, который выполняет над операндом X операцию НЕ. Он задан для типа bool и меняет значение операнда true на false, или наоборот. |
| ~X | Поразрядное дополнение. Инвертирование каждого бита целого X. |
| (T) x | Явное преобразование x в тип T |
Пример3:
int x=10, y1, y2;
y1 = ++x; //x=11
y2 = x++; //x=11
Console.WriteLine("y1= " + y1);
Console.WriteLine("y2= " + y2);
Console.ReadKey();
В обоих случаях переменная х получит значение 11. Разница состоит лишь в том, в какой момент она станет равной 11 (до присвоения ее значения переменной y или после).
Пример4:
int x=10, y1;
y1 =x + ++x;
Console.WriteLine("y1= " + y1);
Console.ReadKey();
Инструкция x + ++x выполняется следующим образом: сначала запоминается исходное значение х=10. Затем инкрементируется х (х=10+1=11), далее суммируются новое значение с исходным (11+10=21), а результат суммирования присваивается y.
Пример5:
int x=10, y2;
y2 =x + x++;
Console.WriteLine("y2= " + y2);
Console.ReadKey();
Инструкция x + x++ выполняется следующим образом: сначала суммируются х+х (10+10=20), результат суммирования присваивается y, затем инкрементируется переменная х (10+1=11) для дальнейшего использования в программе.