logo search
C#, 320 стр

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

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

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

Приоритет

Категория

Операции

Порядок

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

Присваивание

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

Справа налево