Freigeben über


Or-Operator (Visual Basic)

Aktualisiert: November 2007

Führt eine logische Disjunktion zweier Boolean-Ausdrücke oder eine bitweise Disjunktion zweier numerischer Ausdrücke aus.

result = expression1 Or expression2

Bestandteile

  • result
    Erforderlich. 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. Beliebiger Boolean-Ausdruck oder numerischer Ausdruck.

  • expression2
    Erforderlich. 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.

Wenn expression1 gleich

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 Or-Operator stets beide Ausdrücke aus; dabei werden unter Umständen auch Prozeduraufrufe ausgeführt. Der OrElse-Operator führt Kurzschlussoperationen aus. Dies bedeutet, dass expression2 nicht ausgewertet wird, wenn expression1True ist.

Bei bitweisen Operationen führt der Or-Operator 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 sich für die Datentypen von expression1 und expression2 eignet. Informationen hierzu finden Sie in der Tabelle "Relationale und bitweise Vergleiche" unter Datentypen von Operatorergebnissen.

Überladen

Der Or-Operator 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.

Beispiel

Im folgenden Beispiel wird mit dem Or-Operator 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 Or-Operator 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

Konzepte

Logische und bitweise Operatoren in Visual Basic

Referenz

Logische/Bitweise Operatoren

Operatorrangfolge in Visual Basic

Operatoren sortiert nach Funktionalität

OrElse-Operator