Of Operator (Visual Basic)
Voert een logische scheiding uit op twee Boolean
expressies of een bitwise disjunction op twee numerieke expressies.
Syntaxis
result = expression1 Or expression2
generator
result
Vereist. Een Boolean
of meer numerieke expressies. Ter Boolean
vergelijking is result
de inclusieve logische ontkoppeling van twee Boolean
waarden. Voor bitsgewijze bewerkingen result
is een numerieke waarde die de inclusieve bitsgewijze disjunction van twee numerieke bitpatronen vertegenwoordigt.
expression1
Vereist. Een Boolean
of meer numerieke expressies.
expression2
Vereist. Een Boolean
of meer numerieke expressies.
Opmerkingen
Ter Boolean
vergelijking, result
is False
als en alleen als beide expression1
en expression2
evalueren naar False
. 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 |
True |
False |
True |
True |
False |
False |
False |
Notitie
In een Boolean
vergelijking evalueert de Or
operator altijd beide expressies, waaronder het maken van procedureoproepen. De Operator OrElse voert kortsluiting uit, wat betekent dat als expression1
dat het isTrue
, niet expression2
wordt geëvalueerd.
Voor bitsgewijze bewerkingen voert de Or
operator een bitsgewijze vergelijking van identiek geplaatste bits in twee numerieke expressies uit en stelt de bijbehorende bit in result
volgens de volgende tabel.
Als bit is ingeschakeld expression1 |
En bit in expression2 is |
De bit in result is |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
Notitie
Aangezien de logische en bitsgewijze operators een lagere prioriteit hebben dan andere rekenkundige en relationele operatoren, moeten bitsgewijze bewerkingen tussen haakjes worden geplaatst om een nauwkeurige uitvoering 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 Boolean
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.
Overbelasting
De Or
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 Or
operator gebruikt om een inclusieve logische ontkoppeling uit te voeren op twee expressies. Het resultaat is een Boolean
waarde die aangeeft of een van de twee expressies is True
.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b
In het voorgaande voorbeeld worden de resultaten van True
respectievelijk , True
en False
, geproduceerd.
Voorbeeld 2
In het volgende voorbeeld wordt de Or
operator gebruikt om inclusieve logische ontkoppeling uit te voeren voor de afzonderlijke bits van twee numerieke expressies. De bit in het resultaatpatroon wordt ingesteld als een van de bijbehorende bits in de operanden is 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 Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)
Het voorgaande voorbeeld produceert respectievelijk resultaten van 10, 14 en 14.