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 Boolean
het gegevenstype van het resultaat . Voor een bitsgewijze vergelijking is het resultaatgegevenstype een numeriek type dat geschikt is voor de gegevenstypen en expression1
expression2
. 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 False
resultaten 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.