Freigeben über


Boolesche Ausdrücke (Visual Basic)

Ein boolescher Ausdruck ist ein Ausdruck, der zu einem Wert des booleschen Datentyps ausgewertet wird: True oder False. Boolean Ausdrücke können mehrere Formen annehmen. Am einfachsten ist der direkte Vergleich des Werts einer Boolean Variablen mit einem Boolean Literal, wie im folgenden Beispiel gezeigt.

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

Zwei Bedeutungen des Operators =

Beachten Sie, dass die Zuordnungsanweisung newCustomer = True mit dem Ausdruck im vorherigen Beispiel identisch aussieht, es führt jedoch eine andere Funktion aus und wird anders verwendet. Im vorherigen Beispiel stellt der Ausdruck newCustomer = True einen booleschen Wert dar, und das = Zeichen wird als Vergleichsoperator interpretiert. In einer eigenständigen Anweisung wird das = Zeichen als Zuordnungsoperator interpretiert und weist den Wert auf der rechten Seite der Variablen auf der linken Seite zu. Im folgenden Beispiel wird dies veranschaulicht.

If newCustomer = True Then
    newCustomer = False
End If

Weitere Informationen finden Sie unter Wertvergleiche und Anweisungen.

Vergleichsoperatoren

Vergleichsoperatoren wie =, <, >, <>, <= und >= erzeugen boolesche Ausdrücke, indem sie den Ausdruck auf der linken Seite des Operators mit dem Ausdruck auf der rechten Seite des Operators vergleichen und das Ergebnis als True oder False auswerten. Im folgenden Beispiel wird dies veranschaulicht.

42 < 81

Da 42 kleiner als 81 ist, wird der boolesche Ausdruck im vorherigen Beispiel mit dem Ergebnis True bewertet. Weitere Informationen zu dieser Art von Ausdruck finden Sie unter "Wertvergleiche".

Vergleichsoperatoren kombiniert mit logischen Operatoren

Vergleichsausdrücke können mithilfe logischer Operatoren kombiniert werden, um komplexere boolesche Ausdrücke zu erzeugen. Im folgenden Beispiel wird die Verwendung von Vergleichsoperatoren in Verbindung mit einem logischen Operator veranschaulicht.

x > y And x < 1000

Im vorherigen Beispiel hängt der Wert des gesamtausdrucks von den Werten der Ausdrücke auf jeder Seite des And Operators ab. Wenn beide Ausdrücke vorhanden sind True, wird der gesamtausdruck als Trueausgewertet. Wenn eines der Ausdrücke lautet False, wird der gesamte Ausdruck als Falseausgewertet.

Operatoren mit Kurzschlussauswertung

Die logischen Operatoren AndAlso und OrElse zeigen das Verhalten an, das als Kurzschluss bezeichnet wird. Ein logischer Operator mit Kurzschlussauswertung wertet zuerst den linken Operanden aus. Wenn der linke Operand den Wert des gesamten Ausdrucks bestimmt, wird die Programmausführung fortgesetzt, ohne den richtigen Ausdruck auszuwerten. Im folgenden Beispiel wird dies veranschaulicht.

If 45 < 12 AndAlso testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

Im vorherigen Beispiel wertet der Operator den linken Ausdruck aus. 45 < 12 Da der linke Ausdruck zu False ausgewertet wird, muss der gesamte logische Ausdruck zu False ausgewertet werden. Die Programmausführung überspringt somit die Ausführung des Codes innerhalb des If Blocks, ohne den richtigen Ausdruck auszuwerten. testFunction(3) In diesem Beispiel wird testFunction() nicht aufgerufen, weil der linke Ausdruck dazu führt, dass der gesamte Ausdruck als „false“ ausgewertet wird.

Ähnlich verhält es sich, wenn der linke Ausdruck in einem logischen Ausdruck mit OrElse als True ausgewertet wird. Dann wird ohne Auswertung des rechten Ausdrucks mit der nächsten Codezeile fortgefahren, da der gesamte Ausdruck bereits durch den linken Ausdruck validiert wurde.

Vergleich mit Operatoren ohneShort-Circuiting

Im Gegensatz dazu werden beide Seiten des logischen Operators ausgewertet, wenn die logischen Operatoren And und Or verwendet werden. Im folgenden Beispiel wird dies veranschaulicht.

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

Im obigen Beispiel wird testFunction() aufgerufen, obwohl der linke Ausdruck als False ausgewertet wird.

Klammernausdrücke

Sie können Klammern verwenden, um die Reihenfolge der Auswertung boolescher Ausdrücke zu steuern. Ausdrücke, die von Klammern eingeschlossen sind, werden zuerst ausgewertet. Bei mehreren Schachtelungsebenen haben die am tiefsten geschachtelten Ausdrücke Vorrang. Innerhalb von Klammern erfolgt die Auswertung gemäß den Regeln der Operatorrangfolge. Weitere Informationen finden Sie unter Operatorrangfolge in Visual Basic.

Siehe auch