Rangfolge von Operatoren

Hinweis

Gemeinschaftsinteressengruppen sind inzwischen von Yammer zu Microsoft Viva Engage gewechselt. Um einer Viva Engage Community beizutreten und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular Request access to Finance and Operations Viva Engage Community aus und wählen Sie die Community aus, der Sie beitreten möchten.

In diesem Artikel wird die Rangfolge von Operatoren beschrieben.

Die Reihenfolge, in der ein zusammengesetzter Ausdruck ausgewertet wird, ist wichtig. Wenn du dem Compiler nicht explizit die Reihenfolge angibst, in der die Operationen ausgeführt werden sollen, basiert die Reihenfolge auf der Operator-Vorrangfolge. Sie können Klammern ( ) verwenden, um dem X++-Compiler explizit mitzuteilen, wie ein Ausdruck ausgewertet werden soll.

Betrachten Sie den Ausdruck x + y / 100, der ein anderes Ergebnis liefert, je nachdem, ob die Addition oder die Division zuerst durchgeführt wird. Da der Divisionsoperator eine höhere Priorität hat als der Additionsoperator, wird y/100 der Compiler zuerst ausgewertet. Also, x + y / 100 ist äquivalent zu x + (y / 100). Wenn Sie Klammern hinzufügen, um den Ausdruck (x + y)/ 100zu erstellen, wird zuerst x + y ausgewertet.

Um den Code leicht lesbar und zu verwalten, sollten Sie explizit sein, und geben Sie in Klammern an, welche Operatoren zuerst ausgewertet werden sollen.

Reihenfolge der Rangfolge von Operatoren

Die Operatoren in der folgenden Tabelle sind in der Reihenfolge der Rangfolge aufgeführt. Je höher ein Operator in der Tabelle steht, desto höher ist seine Priorität. Operatoren mit höherer Priorität werden vor Operatoren mit niedrigerer Priorität ausgewertet. Der Operator-Vorrang von X++ ist nicht identisch mit der anderer Sprachen wie C# und Java.

Operatoren in der Reihenfolge der Rangfolge Syntax
Unäre Operatoren - ~ !
multiplikativ, shift, bitweise UND, bitweise exklusiv ODER * / % DIV << >> & ^
additiv, bitweise inklusive ODER + -
relational, Gleichheit < <= == != > >= like as is
logische Operatoren (UND, ODER) &&, ||
bedingt ? :

Operatoren, die sich in der gleichen Zeile in der Tabelle befinden, haben die gleiche Priorität. Enthält ein Ausdruck mehr als einen dieser Operatoren, wird der Ausdruck von links nach rechts ausgewertet, es sei denn, es werden Zuweisungsoperatoren verwendet. Zuweisungsoperatoren werden von rechts nach links ausgewertet. Beispiel: && (logisches UND) und || (logisches ODER) haben die gleiche Rangfolge und werden von links nach rechts ausgewertet. Diese Präzedenz bedeutet, dass 0 && 0 || 1 == 1, und 1 || 0 && 0 == 0