На этом шаге мы укажем приоритет рассмотренных операторов.
При вычислении сложных выражений, в которых используются различные операторы, порядок выполнения операций определяется приоритетом операторов. Подвыражения на основе операторов с более высоким приоритетом вычисляются ранее по сравнению с подвыражениями на основе операторов с более низким приоритетом. Если у операторов одинаковый приоритет, то подвыражения вычисляются в естественном порядке, слева направо. В таблице 1 основные операторы языка C# сгруппированы по уровню приоритета (от самых приоритетных до наименее приоритетных).
Приоритет | Операторы |
---|---|
1 | Круглые скобки (), квадратные скобки [ ], оператор "точка" ., операторы инкремента ++ и декремента -- в постфиксной форме (то есть в выражениях вида А++ и А--) |
2 | Унарный оператор "плюс" +, унарный оператор "минус" -, оператор побитовой инверсии оператор логического отрицания !, операторы инкремента ++ и декремента -- в префиксной форме (то есть в выражениях вида ++А и --А), операция явного приведения типа |
3 | Оператор умножения *, оператор деления /, оператор вычисления остатка отделения % |
4 | Оператор сложения +, оператор вычитания - |
5 | Оператор побитового сдвига вправо >>, оператор побитового сдвига влево << |
6 | Оператор сравнения "больше" >. оператор сравнения "больше или равно" >=, оператор сравнения "меньше" <, оператор сравнения "меньше или равно" <= |
7 | Оператор сравнения "равно" ==, оператор сравнения "не равно" != |
8 | Оператор "побитовое и" & (также "логическое и" в полной форме) |
9 | Оператор "побитовое исключающее или" ^ (также "логическое исключающее или") |
10 | Оператор "побитовое или" | (также "логическое или" в полной форме) |
11 | Оператор "логическое и" в упрощенной форме && |
12 | Оператор "логическое или" в упрощенной форме || |
13 | Тернарный оператор ?: |
14 | Оператор присваивания =, операторы сокращенного присваивания *=, /=, %=, +=, -=, <<=, >>=, &=, ^= и |= |
Для изменения порядка вычисления выражений можно использовать круглые скобки.
На следующем шаге мы рассмотрим несколько примеров программ.