Основы программирования на C#

Приоритет и порядок выполнения операций


Большинство операций в языке C#, их приоритет и порядок наследованы из языка C++. Однако имеются и различия: например, нет операции " , ", позволяющей вычислять список выражений; добавлены уже упоминавшиеся операции checked и unchecked, применимые к выражениям.

Как это обычно делается, приведем таблицу приоритетов операций, в каждой строке которой собраны операции одного приоритета, а строки следуют в порядке приоритетов, от высшего к низшему.

ПриоритетКатегорияОперацииПорядок
0Первичные (expr) x.y f(x) a[x] x++ x-- new sizeof(t) typeof(t) checked(expr) unchecked(expr)Слева направо
1Унарные + - ! ~ ++x --x (T)x Слева направо
2Мультипликативные (Умножение)* / % Слева направо
3Аддитивные (Сложение) + - Слева направо
4Сдвиг << >> Слева направо
5Отношения, проверка типов< > <= >= is as Слева направо
6Эквивалентность == != Слева направо
7Логическое И&Слева направо
8Логическое исключающее ИЛИ (XOR)^ Слева направо
9Логическое ИЛИ (OR)| Слева направо
10Условное И && Слева направо
11Условное ИЛИ || Слева направо
12Условное выражение? : Справа налево
13Присваивание = *= /= %= += -= <<= >>= &= ^= |= Справа налево



Содержание раздела