Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt een inclusieve logische disjunction uitgevoerd voor twee expressies.
Syntaxis
result = expression1 OrElse expression2
Onderdelen
result
Verplicht. Elke Boolean expressie.
expression1
Verplicht. Elke Boolean expressie.
expression2
Verplicht. Elke Boolean expressie.
Opmerkingen
Een logische bewerking wordt geacht kortsluiting te zijn als de gecompileerde code de evaluatie van één expressie kan omzeilen, afhankelijk van het resultaat van een andere expressie. Als het resultaat van de eerste expressie die is geëvalueerd het uiteindelijke resultaat van de bewerking bepaalt, hoeft u de tweede expressie niet te evalueren, omdat het uiteindelijke resultaat niet kan worden gewijzigd. Kortsluiting kan de prestaties verbeteren als de omzeilde expressie complex is of als het procedure-aanroepen omvat.
Als een van beide expressies resulteert in True, result is Truedat . In de volgende tabel ziet u hoe result dit wordt bepaald.
Als expression1 is |
En expression2 is |
De waarde van result is |
|---|---|---|
True |
(niet geëvalueerd) | True |
False |
True |
True |
False |
False |
False |
Gegevenstypen
De OrElse operator is alleen gedefinieerd voor het Booleaanse gegevenstype. Visual Basic converteert elke operand naar behoefte voordat Boolean de expressie wordt geëvalueerd. Als u het resultaat toewijst aan een numeriek type, converteert Visual Basic het van Boolean naar dat type, zodat het False wordt 0 en True wordt -1.
Zie Booleaanse typeconversies voor meer informatie.
Overbelasting
De Operator Or en de IsTrue-operator kunnen overbelast worden, wat betekent dat een klasse of structuur hun gedrag opnieuw kan definiëren wanneer een operand het type van die klasse of structuur heeft. Het overbelasten van de Or operator en IsTrue operators is van invloed op het gedrag van de OrElse operator. Als uw code gebruikmaakt van OrElse een klasse of structuur die overbelast raakt Or , moet IsTrueu het opnieuw gedefinieerde gedrag begrijpen. Zie Operator Procedures voor meer informatie.
Voorbeeld 1
In het volgende voorbeeld wordt de OrElse operator gebruikt om logische ontkoppeling uit te voeren op twee expressies. Het resultaat is een Boolean waarde die aangeeft of een van de twee expressies waar is. Als de eerste expressie is True, wordt de tweede niet geëvalueerd.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b
Het voorgaande voorbeeld produceert respectievelijk resultaten van True, Trueen False . In de berekening van firstCheckwordt de tweede expressie niet geëvalueerd omdat de eerste al Trueis. De tweede expressie wordt echter geëvalueerd in de berekening van secondCheck.
Voorbeeld 2
In het volgende voorbeeld ziet u een If...Then -instructie met twee procedureaanroepen. Als de eerste aanroep wordt geretourneerd True, wordt de tweede procedure niet aangeroepen. Dit kan onverwachte resultaten opleveren als de tweede procedure belangrijke taken uitvoert die altijd moeten worden uitgevoerd wanneer deze sectie van de code wordt uitgevoerd.
If testFunction(5) = True OrElse otherFunction(4) = True Then
' If testFunction(5) is True, otherFunction(4) is not called.
' Insert code to be executed.
End If