Vagy operátor (Visual Basic)
Logikai tiltást hajt végre két Boolean
kifejezésen, vagy bitenkénti letiltást két numerikus kifejezésen.
Syntax
result = expression1 Or expression2
Részek
result
Szükséges. Bármely Boolean
vagy numerikus kifejezés. Összehasonlításként Boolean
result
két érték befogadó logikai tiltása Boolean
. Bitenkénti műveletek result
esetén a numerikus érték két numerikus bitminta befogadó bitenkénti letiltását jelenti.
expression1
Szükséges. Bármely Boolean
vagy numerikus kifejezés.
expression2
Szükséges. Bármely Boolean
vagy numerikus kifejezés.
Megjegyzések
Összehasonlításként Boolean
a ha és csak akkor vanFalse
, result
ha mindkettőexpression1
, és expression2
kiértékeli a következőtFalse
: . Az alábbi táblázat a meghatározás módját result
mutatja be.
Ha expression1 igen, |
És expression2 van |
Az érték a következő result : |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Feljegyzés
Összehasonlításképpen Boolean
az Or
operátor mindig mindkét kifejezést kiértékeli, ami magában foglalhatja az eljáráshívásokat is. Az OrElse operátor rövidzárolást végez, ami azt jelenti, hogy ha expression1
igenTrue
, akkor expression2
nem lesz kiértékelve.
Bitenkénti műveletek esetén az Or
operátor két numerikus kifejezésben hajtja végre az azonos pozícióban lévő bitek bitenkénti összehasonlítását, és a megfelelő bitet az alábbi táblázat szerint állítja be result
.
Ha a bit be van expression1 |
És a bit be expression2 van |
A bit be van result |
---|---|---|
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
Feljegyzés
Mivel a logikai és bitenkénti operátorok elsőbbsége alacsonyabb, mint más aritmetikai és relációs operátoroké, a pontos végrehajtás érdekében a bitenkénti műveleteket zárójelben kell megadni.
Adattípusok
Ha az operandusok egy Boolean
kifejezésből és egy numerikus kifejezésből állnak, a Visual Basic numerikus értékké alakítja a Boolean
kifejezést (–1 és True
0 ) False
és bitenkénti műveletet hajt végre.
Összehasonlításként Boolean
az eredmény adattípusa a következő Boolean
: . A bitenkénti összehasonlításhoz az eredmény adattípusa egy numerikus típus, amely megfelel az és expression1
expression2
a . Lásd a "Relációs és bitenkénti összehasonlítások" táblát az operátoreredmények adattípusaiban.
Túlterhelés
Az Or
operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha egy operandus az adott osztály vagy struktúra típusával rendelkezik. Ha a kód egy ilyen osztályon vagy struktúrán használja ezt az operátort, győződjön meg arról, hogy tisztában van az újradefiniált viselkedésével. További információ: Operátori eljárások.
1. példa
Az alábbi példa az Or
operátort használja egy befogadó logikai tiltás végrehajtására két kifejezésen. Az eredmény egy Boolean
érték, amely azt jelzi, hogy a két kifejezés bármelyike .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
Az előző példa a , True
és False
az , eredményét True
adja eredményül.
2. példa
Az alábbi példa az operátort használja a Or
két numerikus kifejezés egyes bitjeinek befogadó logikai tiltására. Az eredményminta bitje akkor van beállítva, ha az operandusok megfelelő bitjei közül bármelyik 1-re van állítva.
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)
Az előző példa 10, 14 és 14 eredményt ad.