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)