And-Operator (Visual Basic)

Führt eine logische Konjunktion zweier Boolean-Ausdrücke bzw. eine bitweise Verknüpfung zweier numerischer Ausdrücke aus.

Syntax

result = expression1 And expression2  

Bestandteile

result
Erforderlich. Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck. Für den booleschen Vergleich ist result die logische Verbindung zweier Boolean-Werte angegeben. Bei bitweisen Vorgängen ist result ein numerischer Wert, der die bitweise Verbindung von zwei numerischen Bitmustern darstellt.

expression1
Erforderlich. Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck.

expression2
Erforderlich. Ein beliebiger Boolean-Ausdruck oder numerischer Ausdruck.

Bemerkungen

Für den booleschen Vergleich ist resultTrue nur dann, wenn sowohl expression1 als auch expression2True entspricht. Die folgende Tabelle veranschaulicht, wie result bestimmt wird.

Wenn expression1 gleich 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 Kurzschlüsse durch, d. h., wenn expression1False ist, wird expression2 nicht ausgewertet.

Bei Anwendung auf numerische Werte führt der And-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 0
0 1 0
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 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 True und 0 für False) und führt einen bitweisen Vorgang aus.

Für einen booleschen Vergleich lautet der Datentyp des Ergebnisses Boolean. 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.

Hinweis

Der And-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 And-Operator verwendet, um eine logische Verbindung zwischen zwei Ausdrücken auszuführen. Das Ergebnis ist ein Boolean-Wert, der angibt, 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 vorherigen Beispiel werden Ergebnisse von True und False erzeugt.

Beispiel 2

Im folgenden Beispiel wird der And-Operator verwendet, um eine logische Verbindung 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 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 jeweils von 8, 2 und 0 erzeugt.

Siehe auch