Freigeben über


And-Operator (Visual Basic)

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

result = expression1 And expression2

Bestandteile

  • result
    Erforderlich. Beliebiger Boolean-Ausdruck oder numerischer Ausdruck. Bei booleschen Vergleichen ist result die logische Konjunktion von zwei Boolean-Werten. Bei bitweisen Operationen ist result ein numerischer Wert, der die bitweise Konjunktion von zwei numerischen Bitmustern darstellt.

  • expression1
    Erforderlich. Beliebiger Boolean-Ausdruck oder numerischer Ausdruck.

  • expression2
    Erforderlich. Beliebiger Boolean-Ausdruck oder numerischer Ausdruck.

Hinweise

Bei booleschen Vergleichen ist result dann und nur dann True, wenn sowohlexpression1 als auch expression2 zu True ausgewertet werden. Die folgende Tabelle veranschaulicht, wie result bestimmt wird.

Wenn expression1 gleich

Und expression2 gleich

Hat result den Wert

True

True

True

True

False

False

False

True

False

False

False

False

Tipp

In einem booleschen Vergleich wertet der Operator And immer beide Ausdrücke aus, wobei u. U. Prozeduraufrufe ausgeführt werden können. Der AndAlso-Operator (Visual Basic) führt Kurzschlussoperationen aus. Das bedeutet, dass expression2 nicht ausgewertet wird, wenn expression1False ist.

Wenn der Operator And auf numerische Werte angewendet wird, werden identisch positionierte Bits in zwei numerischen Ausdrücken bitweise verglichen. Das entsprechende Bit wird entsprechend der folgenden Tabelle in result eingesetzt:

Wenn Bit in expression1 gleich

Und Bit in expression2 gleich

Dann ist das Bit in result gleich

1

1

1

1

0

0

0

1

0

0

0

0

Tipp

Da die logischen und bitweisen Operatoren einen niedrigeren Rang als andere arithmetische und relationale Operatoren haben, müssen alle bitweisen Operationen in runde Klammern gesetzt werden, um präzise Ergebnisse zu gewährleisten.

Datentypen

Wenn die Operanden aus einem Boolean-Ausdruck und einem numerischen Ausdruck bestehen, wandelt Visual Basic den Boolean-Ausdruck in einen numerischen Wert um (–1 für True und 0 für False) und führt eine bitweise Operation aus.

Bei einem Vergleich von booleschen Ausdrücken 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).

Tipp

Der Operator And 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 hierzu finden Sie unter Operatorprozeduren (Visual Basic).

Beispiel

In diesem Beispiel wird mit dem Operator And eine logische Konjunktion zweier Ausdrücke ausgeführt. Das Ergebnis ist ein Boolean-Wert, der darstellt, ob beide Ausdrücke True sind.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c

Im vorangehenden Beispiel werden die Ergebnisse True bzw. False berechnet.

Im folgenden Beispiel wird mit dem Operator And eine logische Konjunktion einzelner Bits zweier numerischer Ausdrücke ausgeführt. Das Bit im Ergebnismuster wird gesetzt, wenn die beiden entsprechenden Bits in den Operanden auf 1 gesetzt sind.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)

Im vorangehenden Beispiel werden die Ergebnisse 8, 2 bzw. 0 berechnet.

Siehe auch

Referenz

Logische/bitweise Operatoren (Visual Basic)

Operatorrangfolge in Visual Basic

Operatoren sortiert nach Funktionalität (Visual Basic)

AndAlso-Operator (Visual Basic)

Konzepte

Logische und bitweise Operatoren in Visual Basic