Унарные операторы
Оператор | Действие |
+ 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) для дальнейшего использования в программе.