Or-Operator (Visual Basic)
Führt eine logische Disjunktion zweier Boolean
-Ausdrücke oder eine bitweise Disjunktion zweier numerischer Ausdrücke aus.
Syntax
result = expression1 Or expression2
Bestandteile
result
Erforderlich. Ein beliebiger Boolean
-Ausdruck oder numerischer Ausdruck. Zum Boolean
-Vergleich ist result
die inklusive logische Disjunktion von zwei Boolean
-Werten. Bei bitweisen Vorgängen 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.
Bemerkungen
Zum Boolean
-Vergleich ist result
nur dann False
, wenn sowohl als expression1
auch expression2
als False
ausgewertet werden. Die folgende Tabelle veranschaulicht, wie result
bestimmt wird.
Wenn expression1 gleich |
Und expression2 ist |
Der Wert von result ist |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Hinweis
In einem Boolean
-Vergleich wertet der Or
-Operator immer beide Ausdrücke aus, was das Ausführen von Prozeduraufrufen umfassen kann. Der OrElse-Operator führt Kurzschlüsse durch, d. h., wenn expression1
True
ist, wird expression2
nicht ausgewertet.
Bei bitweisen Operationen führt der Or
-Operator einen bitweisen Vergleich gleich positionierter Bits in zwei numerischen Ausdrücken durch und legt das entsprechende Bit gemäß der folgenden Tabelle in result
fest.
Wenn Bit in expression1 ist |
Und Bit in expression2 ist |
Das Bit in result ist |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
Hinweis
Da die logischen und bitweisen Operatoren eine niedrigere Rangfolge haben als andere arithmetische und relationale Operatoren, sollten die bitweisen Vorgänge in Klammern eingeschlossen werden, um eine genaue Ausführung sicherzustellen.
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 einen bitweisen Vorgang aus.
Für einen Boolean
-Vergleich lautet Boolean
der Datentyp des Ergebnisses. Für einen bitweisen Vergleich ist der Ergebnisdatentyp ein numerischer Typ, der für die Datentypen von expression1
und expression2
geeignet ist. Weitere Informationen finden Sie in der Tabelle „Relationale und bitweise Vergleiche“ unter Datentypen von Operatorergebnissen.
Überladen
Der Or
-Operator kann überladen werden. Dies bedeutet, dass eine Klasse oder Struktur ihr Verhalten neu definieren kann, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist. Wenn Ihr Code diesen Operator für eine solche Klasse oder Struktur verwendet, stellen Sie sicher, dass Sie das neu definierte Verhalten verstehen. Weitere Informationen finden Sie unter Operator Procedures.
Beispiel 1
Im folgenden Beispiel wird der Or
Operator verwendet, um eine inklusive logische Disjunktion für zwei Ausdrücke auszuführen. Das Ergebnis ist ein Boolean
Wert, der angibt, 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
Im vorherigen Beispiel werden Ergebnisse von True
, True
und False
erzeugt.
Beispiel 2
Im folgenden Beispiel wird der Or
-Operator verwendet, um eine inklusive logische Disjunktion für die einzelnen Bits von zwei numerischen Ausdrücken auszuführen. Das Bit im Ergebnismuster wird festgelegt, wenn eines der entsprechenden Bits in den Operanden auf 1 festgelegt ist.
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)
Im vorherigen Beispiel werden Ergebnisse jeweils von 10, 14 und 14 erzeugt.