Вираз - це правило обчислення значення. У виразі беруть участь операнди, об'єднані знаками операцій. Операндами простого виразу можуть бути константи, змінні і виклики функцій.
Наприклад, а + 2 - це вираз, в якому + є знаком операції, а і 2 -операнди. Пропуски усередині знаку операції, що складається з декількох символів, не допускаються. По кількості операндів операції, що беруть участь в одній операції, діляться на унарні, бінарні і тернарні. Операції С# показані в таблиці 3.1, в якій символ х показує розташування операнда і не є частиною знаку операції.
Таблиця 3.1.
Операції C#
Категорія
| Знак операції
| Назва
|
Первинні
| .
|
|
х()
| Виклик методу або делегата
|
х[]
| Доступ до елементу
|
х ++
| Постфіксний інкремент
|
х --
| Постфіксний декрмент
|
new
| Виділення пам'яті
|
typeof
| Отримання типу
|
checked
| Код, який перевіряється
|
unchecked
| Код, який не перевіряється
|
Унарні
| +
| Унарний плюс
|
-
| Унарний мінус
|
!
| Логічне заперечення
|
~
| Порозрядне заперечення
|
++x
| Префіксний інкремент
|
--x
| Префіксний декремент
|
(тип)х
| Перетворення типу
|
Мультиплікативні (типу множення)
| *
| Множення
|
/
| Ділення
|
%
| Залишок від ділення
|
Адитивні (типу складання)
| +
| Складання
|
-
| Віднімання
|
Здвигу
| <<
| Здвиг вліво
|
>>
| Здвиг вправо
|
Відношення і перевірки типу
| <
| Менше
|
>
| Більше
|
<=
| Менше або рівно
|
>=
| Більше або рівно
|
is
| Перевірка приналежності типу
|
аs
| Приведення типу
|
Перевірки на рівність
| = =
| Рівно
|
! =
| Не рівно
|
Порозрядні логічні
| &
| Порозрядна кон'юнкція (І)
|
^
| Порозрядне виключення (АБО)
|
|
| Порязрядна диз'юнкція(АБО)
|
Продовження таблиці 3.1
Категорія
| Знак операції
| Назва
|
Умовні логічні
| &&
| Логічне І
|
||
| Логічне АБО
|
Умовна
| ? :
| Умовна операція
|
Привласнення
| =
| Привласнення
|
*=
| Множення з привласненням
|
/=
| Ділення з привласненням
|
%=
| Залишок від ділення з привласненням
|
+=
| Складання з привласненням
|
-=
| Віднімання з привласненням
|
<<=
| Зрушення вліво з привласненням
|
>>=
| Зрушення вправо з привласненням
|
&=
| Порозрядне І з привласненням
|
^=
| Порозрядне виключення АБО з привласненням
|
| =
| Порозрядне АБО з привласненням
|
Операції у виразі виконуються в певному порядку відповідно до пріоритетів, як і в математиці. У таблиці 3.1 операції розташовані по спаданню пріоритетів, рівні пріоритети розділені в таблиці горизонтальними лініями.
Результат обчислення виразу характеризується значенням і типом. Наприклад, нехай а і b - змінні цілого типу і описані так: int а = 2, b = 5;
Тоді вираз а + b має значення 7 і тип int, а вираз а = b має значення, рівне поміщеному в змінну а, і тип, співпадаючий з типом цієї змінної.
Якщо в одному виразі є сусідами декілька операцій однакового пріоритету, операції привласнення і умовна операція виконуються справа наліво, останні - зліва направо. Для зміни порядку виконання обчислення використовуються круглі дужки, рівень їх вкладеності практично обмежений.
Наприклад, а + b + с означає (а + b) + с, а = b = с означає а = (b = с). Тобто спочатку обчислюється вираз b = с, а потім його результат стає правим операндом для операції привласнення змінної а.