Freigeben über


And-Operator (Visual Basic)

Führt eine logische Konjunktion für zwei Boolean Ausdrücke oder eine bitweise Konjunktion für zwei numerische Ausdrücke aus.

Syntax

result = expression1 And expression2  

Bestandteile

result
Erforderlich. Beliebiger Boolean oder numerischer Ausdruck. Für den booleschen Vergleich result ist die logische Verbindung zweier Boolean Werte angegeben. Bei bitweisen Vorgängen handelt es sich um einen numerischen Wert, result der die bitweise Verbindung zweier numerischer Bitmuster darstellt.

expression1
Erforderlich. Beliebiger Boolean oder numerischer Ausdruck.

expression2
Erforderlich. Beliebiger Boolean oder numerischer Ausdruck.

Bemerkungen

Für den booleschen Vergleich ist dies nur dann der Wert, result wenn beide expression1 und expression2 ausgewertet werdenTrue.True In der folgenden Tabelle wird veranschaulicht, wie result ermittelt wird.

Wenn expression1 Und expression2 ist Der Wert von result ist
True True True
True False False
False True False
False False False

Hinweis

Im booleschen Vergleich wertet der And Operator immer beide Ausdrücke aus, die Prozeduraufrufe umfassen können. Der AndAlso-Operator führt Kurzschluss durch, was bedeutet, dass wenn expression1 der Wert Falseexpression2 nicht ausgewertet wird.

Bei Anwendung auf numerische Werte führt der And Operator einen bitweisen Vergleich von identisch positionierten Bits in zwei numerischen Ausdrücken durch und legt das entsprechende Bit result entsprechend der folgenden Tabelle fest.

Wenn Bit in expression1 ist Und bit in expression2 ist Das Bit in result ist
1 1 1
1 0 0
0 1 0
0 0 0

Hinweis

Da die logischen und bitweisen Operatoren eine niedrigere Priorität haben als andere arithmetische und relationale Operatoren, sollten alle bitweisen Vorgänge in Klammern eingeschlossen werden, um genaue Ergebnisse 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 und 0 für TrueFalse) und führt einen bitweisen Vorgang aus.

Für einen booleschen Vergleich lautet Booleander Datentyp des Ergebnisses . Für einen bitweisen Vergleich ist der Ergebnisdatentyp ein numerischer Typ, der für die Datentypen von expression1 und expression2. Weitere Informationen finden Sie in der Tabelle "Relationale und Bitweise Vergleiche" in den Datentypen der Operatorergebnisse.

Hinweis

Der And Operator kann überladen werden, was 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 Operatorprozeduren.

Beispiel 1

Im folgenden Beispiel wird der And Operator verwendet, um eine logische Verbindung für zwei Ausdrücke auszuführen. Das Ergebnis ist ein Boolean Wert, der angibt, ob beide Ausdrücke sind True.

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 Ergebnisse der True bzw False. deren Ergebnisse erzeugt.

Beispiel 2

Im folgenden Beispiel wird der And Operator verwendet, um logische Konjunktionen für die einzelnen Bits von zwei numerischen Ausdrücken auszuführen. Das Bit im Ergebnismuster wird festgelegt, wenn die entsprechenden Bits in den Operanden beide auf 1 festgelegt 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 vorherigen Beispiel werden Ergebnisse von 8, 2 und 0 erzeugt.

Siehe auch