Boolesche Ausdrücke (Visual Basic)

Ein boolescher Ausdruck ist ein Ausdruck, der zu einem Wert mit dem Boolean-Datentyp ausgewertet wird: True oder False. Boolean-Ausdrücke können verschiedene Formen aufweisen. Die einfachste Form ist der direkte Vergleich des Werts einer Boolean-Variablen mit einem Boolean-Literal, wie im folgenden Beispiel veranschaulicht.

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 Zuweisungsanweisung newCustomer = True wie der Ausdruck im vorherigen Beispiel aussieht. Sie führt jedoch eine andere Funktion aus und wird auf eine andere Art 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 Zuweisungsoperator interpretiert, und der Wert auf der rechten Seite wird der Variablen auf der linken Seite zugewiesen. Dies wird anhand des folgenden Beispiels veranschaulicht:

If newCustomer = True Then
    newCustomer = False
End If

Weitere Informationen finden Sie unter Wertevergleich (Visual Basic) und unter Anweisungen (Visual Basic).

Vergleichsoperatoren

Vergleichsoperatoren, z. B. =, <, >, <>, <= und >=, ergeben boolesche Ausdrücke, indem der Ausdruck auf der linken Seite des Operators mit dem Ausdruck auf der rechten Seite des Operators verglichen und das Ergebnis als True oder False ausgewertet wird. Dies wird anhand des folgenden Beispiels veranschaulicht:

42 < 81

Da 42 kleiner als 81 ist, ergibt der boolesche Ausdruck im vorangehenden Beispiel True. Weitere Informationen über diese Art von Ausdrücken finden Sie unter Wertevergleich (Visual Basic).

Vergleichsoperatoren kombiniert mit logischen Operatoren

Vergleichsausdrücke können mithilfe von logischen Operatoren kombiniert werden, um komplexere boolesche Ausdrücke zu erstellen. 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 gesamten Ausdrucks von den Werten der Ausdrücke auf beiden Seiten des Operators And ab. Wenn beide Ausdrücke True sind, ergibt der gesamte Ausdruck True. Wenn einer der Ausdrücke False ist, ergibt der gesamte Ausdruck False.

Kurzschlussoperatoren

Das Verhalten der logischen Operatoren AndAlso und OrElse wird als Kurzschluss bezeichnet. Ein Kurzschlussoperator wertet den linken Operanden zuerst aus. Wenn der linke Operand den Wert des gesamten Ausdrucks bestimmt, wird die Ausführung des Programms fortgesetzt, ohne den rechten Ausdruck auszuwerten. Dies wird anhand des folgenden Beispiels veranschaulicht:

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

Im vorangehenden Beispiel wertet der Operator den linken Ausdruck 45 < 12 aus. Da der linke Ausdruck False ergibt, muss der gesamte logische Ausdruck False ergeben. Das Programm überspringt daher die Ausführung des Codes im If-Block, ohne den rechten Ausdruck testFunction(3) auszuwerten. In diesem Beispiel wird testFunction() nicht aufgerufen, da der linke Ausdruck den gesamten Ausdruck als False bestimmt.

Wenn der linke Ausdruck in einem logischen Ausdruck mit OrElse den Wert True ergibt, wird entsprechend die Ausführung mit der nächsten Codezeile fortgesetzt, ohne den rechten Ausdruck auszuwerten, da der linke Ausdruck bereits den gesamten Ausdruck als True ausgewertet hat.

Vergleich mit Operatoren, die keine Kurzschlussoperatoren sind

Im Gegensatz dazu werden beide Seiten des logischen Operators ausgewertet, wenn die logischen Operatoren And und Or verwendet werden. Dies wird anhand des folgenden Beispiels veranschaulicht:

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

Im vorherigen Beispiel wird testFunction() aufgerufen, obwohl der linke Ausdruck False ergibt.

Klammernausdrücke

Mit Klammern können Sie die Auswertungsreihenfolge von booleschen Ausdrücken steuern. Ausdrücke in Klammern werden zuerst ausgewertet. Bei mehrfachen Schachtelungsebenen werden die am tiefsten geschachtelten Ausdrücke vorrangig behandelt. Innerhalb der Klammern wird die Auswertung entsprechend den Regeln der Operatorrangfolge vorgenommen. Weitere Informationen finden Sie unter Operatorrangfolge in Visual Basic.

Siehe auch

Referenz

Vergleichsoperatoren (Visual Basic)

Operatorrangfolge in Visual Basic

Boolean-Datentyp (Visual Basic)

Konzepte

Logische und bitweise Operatoren in Visual Basic

Wertevergleich (Visual Basic)

Effiziente Kombination von Operatoren (Visual Basic)

Weitere Ressourcen

Anweisungen in Visual Basic