Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Группы интересов сообщества теперь переехали из Yammer в Microsoft Viva Engage. Чтобы присоединиться к сообществу Viva Engage и принять участие в последних обсуждениях, заполните форму " Запрос доступа к финансам и операциям Viva Engage Community " и выберите сообщество, к которому вы хотите присоединиться.
В этой статье описывается приоритет оператора.
Порядок вычисления составного выражения имеет важное значение. Если компилятор явно не сообщает компилятору порядок выполнения операций в этом порядке, порядок основан на приоритете оператора. Скобки ( ) можно использовать для явного указания компилятору X++ способа вычисления выражения.
Рассмотрим выражение x + y / 100, которое дает другой результат в зависимости от того, выполняется ли добавление или деление. Так как оператор деления имеет более высокий приоритет, чем оператор сложения, компилятор вычисляет y/100 сначала. Таким образом, x + y / 100 эквивалентен x + (y / 100). Если добавить скобки, чтобы сделать выражение (x + y)/ 100, x + y сначала вычисляется.
Чтобы сделать код простым для чтения и обслуживания, быть явным и указать с круглыми скобками, какие операторы следует оценивать сначала.
Порядок приоритета оператора
Операторы в следующей таблице перечислены в порядке приоритета. Чем выше в таблице отображается оператор, тем выше приоритет он имеет. Операторы с более высоким приоритетом оцениваются перед операторами с более низким приоритетом. Приоритет оператора X++ не совпадает с другими языками, например C# и Java.
| Операторы в порядке приоритета | Синтаксис |
|---|---|
| унарные операторы | - ~ ! |
| умножение, сдвиг, побитовая И, побитовая эксклюзивная ИЛИ | * / % DIV << >> & ^ |
| аддитивная, битовая инклюзивная ИЛИ | + - |
| реляционная, равенство | < <= == != > >= like as is |
| логические операторы (AND, OR) | && || |
| условный | ? : |
Операторы в той же строке таблицы имеют равный приоритет. Если в выражении существует несколько операторов, выражение вычисляется слева направо, если операторы назначения не используются. Операторы назначения оцениваются справа налево. Например, && (логический И) и || (логический ИЛИ) имеют одинаковый приоритет и оцениваются слева направо. Это означает, что 0 && 0 || 1 == 1и 1 || 0 && 0 == 0