Delen via


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 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.

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 Truerespectievelijk , Trueen 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.

Zie ook