Delen via


And Operator (Visual Basic)

Voert een logische combinatie uit op twee Boolean expressies of een bitsgewijze combinatie op twee numerieke expressies.

Syntaxis

result = expression1 And expression2  

generator

result
Vereist. Een Boolean of meer numerieke expressies. Voor booleaanse vergelijking result is dit de logische combinatie van twee Boolean waarden. Voor bitsgewijze bewerkingen result is een numerieke waarde die de bitsgewijze combinatie van twee numerieke bitpatronen aangeeft.

expression1
Vereist. Een Boolean of meer numerieke expressies.

expression2
Vereist. Een Boolean of meer numerieke expressies.

Opmerkingen

Voor booleaanse vergelijking result is True als en alleen als beide expression1 en expression2 evalueren.True In de volgende tabel ziet u hoe result dit wordt bepaald.

Als expression1 is En expression2 is De waarde van result is
True True True
True False False
False True False
False False False

Notitie

In een Booleaanse vergelijking evalueert de And operator altijd beide expressies, waaronder het maken van procedureaanroepen. De AndAlso-operator voert kortsluiting uit, wat betekent dat als expression1 dat het isFalse, dan expression2 niet wordt geëvalueerd.

Wanneer de And operator wordt toegepast op numerieke waarden, wordt een bitsgewijze vergelijking uitgevoerd van identiek geplaatste bits in twee numerieke expressies en wordt de bijbehorende bit result ingesteld volgens de volgende tabel.

Als bit is ingeschakeld expression1 En bit in expression2 is De bit in result is
1 1 1
1 0 0
0 1 0
0 0 0

Notitie

Aangezien de logische en bitsgewijze operatoren een lagere prioriteit hebben dan andere rekenkundige en relationele operatoren, moeten bitsgewijze bewerkingen tussen haakjes worden geplaatst om nauwkeurige resultaten te garanderen.

Gegevenstypen

Als de operanden bestaan uit één Boolean expressie en één numerieke expressie, converteert Visual Basic de Boolean expressie naar een numerieke waarde (–1 voor True en 0 voor False) en voert een bitsgewijze bewerking uit.

Voor een Boole-vergelijking is Booleanhet gegevenstype van het resultaat . Voor een bitsgewijze vergelijking is het resultaatgegevenstype een numeriek type dat geschikt is voor de gegevenstypen en expression1expression2. Zie de tabel Relationele en Bitwise-vergelijkingen in Gegevenstypen operatorresultaten.

Notitie

De And operator kan overbelast worden, wat betekent dat een klasse of structuur het gedrag ervan opnieuw kan definiëren wanneer een operand het type van die klasse of structuur heeft. Als uw code deze operator gebruikt voor een dergelijke klasse of structuur, moet u het opnieuw gedefinieerde gedrag ervan begrijpen. Zie Operator Procedures voor meer informatie.

Voorbeeld 1

In het volgende voorbeeld wordt de And operator gebruikt om een logische combinatie uit te voeren op twee expressies. Het resultaat is een Boolean waarde die aangeeft of beide expressies zijn 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

In het voorgaande voorbeeld worden de resultaten van True respectievelijk de Falseresultaten geproduceerd.

Voorbeeld 2

In het volgende voorbeeld wordt de And operator gebruikt om logische combinaties uit te voeren op de afzonderlijke bits van twee numerieke expressies. De bit in het resultaatpatroon wordt ingesteld als de bijbehorende bits in de operanden beide zijn ingesteld op 1.

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)

In het voorgaande voorbeeld worden respectievelijk de resultaten 8, 2 en 0 geproduceerd.

Zie ook