Or-Operator (Visual Basic)
Führt eine logische Disjunktion zweier Boolean-Ausdrücke oder eine bitweise Disjunktion zweier numerischer Ausdrücke aus.
result = expression1 Or expression2
Teile
result
Erforderlich.Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck.Bei einem Boolean-Vergleich ist result die inklusive logische Disjunktion von zwei Boolean-Werten.Bei bitweisen Operationen ist result ein numerischer Wert, der die inklusive bitweise Disjunktion von zwei numerischen Bitmustern darstellt.expression1
Erforderlich.Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck.expression2
Erforderlich.Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck.
Hinweise
Bei einem Boolean-Vergleich ist result nur dann False, wenn expression1 und expression2False ergeben.Die folgende Tabelle veranschaulicht, wie result bestimmt wird.
Wert von expression1 |
Und expression2 gleich |
hat result den Wert |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Hinweis |
---|
In einem Boolean-Vergleich wertet der Operator Or stets beide Ausdrücke aus; dabei werden unter Umständen auch Prozeduraufrufe ausgeführt.Der OrElse-Operator (Visual Basic) führt Kurzschlussoperationen aus. Dies bedeutet, dass expression2 nicht ausgewertet wird, wenn expression1True ist. |
Bei bitweisen Operationen führt der Operator Or einen bitweisen Vergleich von identisch positionierten Bits in zwei numerischen Ausdrücken aus und legt das entsprechende Bit in result entsprechend der folgenden Tabelle fest.
Wenn Bit in expression1 gleich |
Und Bit in expression2 gleich |
Dann ist das Bit in result gleich |
---|---|---|
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
Hinweis |
---|
Da die logischen und bitweisen Operatoren einen niedrigeren Rang als andere arithmetische und relationale Operatoren haben, müssen alle bitweisen Operationen in Klammern platziert werden, damit eine genaue Ausführung gewährleistet ist. |
Datentypen
Wenn die Operanden aus einem Boolean-Ausdruck und einem numerischen Ausdruck bestehen, konvertiert Visual Basic den Boolean-Ausdruck in einen numerischen Wert (–1 für True und 0 für False) und führt eine bitweise Operation aus.
Bei einem Boolean-Vergleich ist der Datentyp des Ergebnisses Boolean.Bei einem bitweisen Vergleich ist der Datentyp des Ergebnisses ein numerischer Typ, der für die Datentypen von expression1 und expression2 geeignet ist.Siehe die Tabelle "Relationale und bitweise Vergleiche" in Datentypen von Operatorergebnissen (Visual Basic).
Überladen
Der Operator Or kann überladen werden. Das bedeutet, dass eine Klasse oder Struktur sein Verhalten neu definiert, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist.Wenn Sie diesen Operator im Code auf eine solche Klasse oder Struktur anwenden, sollten Sie auf jeden Fall sein neu definiertes Verhalten verstehen.Weitere Informationen finden Sie unter Operatorprozeduren (Visual Basic).
Beispiel
Im folgenden Beispiel wird mit dem Operator Or an zwei Ausdrücken eine inklusive logische Disjunktion ausgeführt.Das Ergebnis ist ein Boolean-Wert, der darstellt, ob einer der beiden Ausdrücke True ist.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b
Durch das vorangehende Beispiel werden die Ergebnisse True, True bzw. False erzeugt.
In diesem Beispiel wird mit dem Operator Or eine inklusive logische Disjunktion der einzelnen Bits von zwei numerischen Ausdrücken ausgeführt.Das Bit im Ergebnismuster wird aktiviert, wenn eines der beiden entsprechenden Bits in den Operanden auf 1 gesetzt wird.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)
Durch das vorangehende Beispiel werden die Ergebnisse 10, 14 bzw. 14 erzeugt.
Siehe auch
Referenz
Logische/bitweise Operatoren (Visual Basic)
Operatorrangfolge in Visual Basic
Operatoren sortiert nach Funktionalität (Visual Basic)
OrElse-Operator (Visual Basic)