Вираз - це правило обчислення значення. У виразі беруть участь операнди, об'єднані знаками операцій. Операндами простого виразу можуть бути константи, змінні і виклики функцій.
Наприклад, а + 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 = с, а потім його результат стає правим операндом для операції привласнення змінної а.