Freigeben über


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

HinweisHinweis

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

HinweisHinweis

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)

Konzepte

Logische und bitweise Operatoren in Visual Basic