Приоритет операторов

Если выражение содержит несколько операторов, порядок вычисления частей выражения определяется приоритетом операторов. Приоритет, используемый по умолчанию, можно изменить посредством группировки элементов в скобки:

int value = 1 + 2 * 3; // 1 + (2 * 3) = 7

value = (1 + 2) * 3; // (1 + 2) * 3 = 9

В C# все бинарные операторы являются лево-ассоциативными; это означает, что операции выполняются слева направо. Исключением являются операторы присваивания и оператор проверки (?:), выполняемые справа налево.

В следующей таблице перечислены все операторы в порядке убывания приоритета.

Категория

Операторы

Первичные операторы

(x) x.y f(x) a[x] x++ x-- new typeof sizeof checked unchecked

Унарные операторы

+ - ! ~ ++x --x (T)x

Операторы умножения и деления

* / %

Операторы сложения и вычитания

+ -

Операторы сдвига

<< >>

Операторы отношения

< > <= >= is

Операторы равенства

== !=

Поразрядный оператор AND

&

Поразрядный оператор XOR

^

Поразрядный оператор OR

|

Логический оператор AND

&&

Логический оператор OR

||

Оператор проверки

?:

Оператор присваивания

= *= /= %= += -= <<= >>= &= ^= |=

Предлагаю ознакомиться с аналогичными статьями: