Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Utför en logisk disjunction på två Boolean uttryck, eller en bitvis disjunction på två numeriska uttryck.
Syntax
result = expression1 Or expression2
Delar
result
Obligatoriskt. Valfritt Boolean eller numeriskt uttryck. Som Boolean jämförelse result är den inkluderande logiska disjuntionen av två Boolean värden. För bitvis åtgärder result är ett numeriskt värde som representerar inkluderande bitvis disjunction av två numeriska bitmönster.
expression1
Obligatoriskt. Valfritt Boolean eller numeriskt uttryck.
expression2
Obligatoriskt. Valfritt Boolean eller numeriskt uttryck.
Anmärkningar
Som Boolean jämförelse result är False om och endast om både expression1 och expression2 utvärderas till False. I följande tabell visas hur result bestäms.
Om expression1 är |
Och expression2 är |
Värdet för result är |
|---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Anmärkning
I en Boolean jämförelse utvärderar operatorn Or alltid båda uttrycken, vilket kan innefatta att göra proceduranrop.
OrElse-operatorn utför kortslutning, vilket innebär att om expression1 är Trueexpression2 , utvärderas inte.
För bitvis åtgärder utför operatorn Or en bitvis jämförelse av identiskt placerade bitar i två numeriska uttryck och anger motsvarande bit i result enligt följande tabell.
Om bit in expression1 är |
Och bit in expression2 är |
Biten i result är |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Anmärkning
Eftersom de logiska operatorerna och bitvis-operatorerna har lägre prioritet än andra aritmetiska operatorer och relationsoperatorer bör alla bitvis åtgärder omges av parenteser för att säkerställa korrekt körning.
Datatyper
Om operanderna består av ett Boolean uttryck och ett numeriskt uttryck konverterar Boolean Visual Basic uttrycket till ett numeriskt värde (–1 för True och 0 för False) och utför en bitvis åtgärd.
För en Boolean jämförelse är Booleandatatypen för resultatet . För en bitvis jämförelse är resultatdatatypen en numerisk typ som är lämplig för datatyperna expression1 och expression2. Se tabellen "Relations- och bitvisjämförelser" i Datatyper av operatorresultat.
Överbelastning
Operatorn Or kan överbelastas, vilket innebär att en klass eller struktur kan omdefiniera sitt beteende när en operande har den typen av klass eller struktur. Om din kod använder den här operatorn i en sådan klass eller struktur bör du se till att du förstår dess omdefinierade beteende. Mer information finns i Operatorprocedurer.
Exempel 1
I följande exempel används operatorn Or för att utföra en inkluderande logisk disjunction på två uttryck. Resultatet är ett Boolean värde som representerar om något av de två uttrycken är 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
Föregående exempel ger resultat av True, Truerespektive False.
Exempel 2
I följande exempel används operatorn Or för att utföra inkluderande logisk disjunction på enskilda bitar av två numeriska uttryck. Biten i resultatmönstret anges om någon av motsvarande bitar i operanderna är inställd på 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)
Föregående exempel ger resultat på 10, 14 respektive 14.