Freigeben über


Effiziente Kombination von Operatoren (Visual Basic)

Komplexe Ausdrücke können viele verschiedene Operatoren enthalten. Dies wird anhand des folgenden Beispiels veranschaulicht.

x = (45 * (y + z)) ^ (2 / 85) * 5 + z

Das Erstellen komplexer Ausdrücke wie im vorherigen Beispiel erfordert ein gründliches Verständnis der Regeln der Operatorrangfolge. Weitere Informationen finden Sie unter Operatorrangfolge in Visual Basic.

Klammerausdrücke

Häufig sollen Vorgänge in einer anderen Reihenfolge fortgesetzt werden, als durch die Operatorrangfolge festgelegt ist. Betrachten Sie das folgende Beispiel.

x = z * y + 4

Im vorherigen Beispiel wird z mit y multipliziert, und das Ergebnis wird dann zu 4 addiert. Wenn Sie jedoch y und 4 addieren möchten, bevor das Ergebnis mit z multipliziert wird, können Sie die normale Operatorrangfolge mithilfe von Klammern außer Kraft setzen. Indem Sie einen Ausdruck in Klammern einschließen, erzwingen Sie, dass dieser Ausdruck unabhängig von der Operatorrangfolge zuerst ausgewertet wird. Um im vorangehenden Beispiel zu erzwingen, dass zuerst addiert wird, können Sie es wie im folgenden Beispiel umschreiben.

x = z * (y + 4)

Im vorherigen Beispiel werden y und 4 addiert und dann diese Summe mit z multipliziert.

Geschachtelte Klammerausdrücke

Sie können Ausdrücke in mehreren Klammerebenen schachteln, um die Rangfolge noch weiter außer Kraft zu setzen. Die am tiefsten in Klammern geschachtelten Ausdrücke werden zuerst ausgewertet, gefolgt von der am nächst tiefsten geschachtelten und so weiter bis zu den am wenigsten tief geschachtelten Ausdrücken und schließlich die Ausdrücke außerhalb von Klammern. Dies wird anhand des folgenden Beispiels veranschaulicht.

x = (z * 4) ^ (y * (z + 2))

Im vorhergehenden Beispiel wird zuerst z + 2 ausgewertet, dann die anderen Klammerausdrücke. Die Potenzierung, die normalerweise eine höhere Priorität als Addition oder Multiplikation hat, wird in diesem Beispiel zuletzt ausgewertet, da die anderen Ausdrücke in Klammern eingeschlossen sind.

Siehe auch