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 Booleanresult 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 expression1expression2a . 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 Falseaz , eredményét Trueadja 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.

Lásd még