Microsoft® Visual Basic® Scripting Edition Operatorenrangfolge |
Sprachreferenz |
Wenn in einem Ausdruck mehrere Operationen vorkommen, wird jeder Bestandteil in einer vordefinierten Reihenfolge ausgewertet und aufgelöst. Diese Reihenfolge wird als Operatorenrangfolge bezeichnet. Mit Hilfe von Klammern kann unter Umgehung der Rangfolge die Auswertung bestimmter Bestandteile vor anderen erzwungen werden. In Klammern eingeschlossene Operationen werden immer vor den Operationen außerhalb der Klammern ausgeführt. Innerhalb der Klammern gilt jedoch weiterhin die normale Operatorenrangfolge.
Wenn Ausdrücke Operatoren aus verschiedenen Kategorien enthalten, werden zuerst arithmetische, dann Vergleichs- und schließlich logische Operatoren ausgewertet. Vergleichsoperatoren haben alle denselben Rang, d.h. sie werden von links nach rechts in der Reihenfolge ihres Erscheinens ausgewertet. Arithmetische und logische Operatoren werden nach der folgenden Rangfolge ausgewertet:
Arithmetisch Vergleich Logisch Potenzieren (^) Gleich (=) Not Negation (-)' Ungleich (<>) And Multiplikation und Division (*,/) Kleiner als (<) Or Ganzzahldivision (\) Größer als (>) Xor Modulo arithmetisch (Mod) Kleiner oder gleich (<=) Eqv Addition und Subtraktion (+,-) Größer oder gleich (>=) Imp Zeichenfolgenverkettung (&) Is &
Wenn Multiplikation und Division in einem Ausdruck vorkommen, wird jede Operation in der Reihenfolge ihres Vorkommens von links nach rechts ausgewertet. Ebenso wird verfahren, wenn Addition und Subtraktion in einem Ausdruck vorkommen.Der Operator zur Zeichenfolgenverkettung (&) ist kein arithmetischer Operator, aber in der Rangfolge liegt er hinter den arithmetischen und vor den Vergleichsoperatoren. Der Operator Is ist ein Vergleichsoperator für Objektverweise. Er vergleicht weder Objekte noch deren Werte, sondern er prüft lediglich, ob zwei Objektverweise sich auf dasselbe Objekt beziehen.