Megosztás a következőn keresztül:


OrElse Operátor (Visual Basic)

Két kifejezésen rövidzárolású, inkluzív logikai tiltást hajt végre.

Syntax

result = expression1 OrElse expression2  

Részek

result
Szükséges. Bármilyen Boolean kifejezés.

expression1
Szükséges. Bármilyen Boolean kifejezés.

expression2
Szükséges. Bármilyen Boolean kifejezés.

Megjegyzések

A logikai művelet rövidzárlatnak minősül, ha a lefordított kód megkerüli az egyik kifejezés kiértékelését egy másik kifejezés eredményétől függően. Ha az első kiértékelt kifejezés eredménye határozza meg a művelet végeredményét, nincs szükség a második kifejezés kiértékelésére, mert az nem módosíthatja a végeredményt. A rövidzárolás akkor javíthatja a teljesítményt, ha a megkerült kifejezés összetett, vagy ha eljáráshívásokkal jár.

Ha bármelyik vagy mindkét kifejezés ki van értékelveTrue, result akkor az a .True 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 (nincs kiértékelve) True
False True True
False False False

Adattípusok

Az OrElse operátor csak a logikai adattípushoz van definiálva. A Visual Basic szükség Boolean szerint átalakítja az egyes operandusokat a kifejezés kiértékelése előtt. Ha az eredményt numerikus típushoz rendeli, a Visual Basic átalakítja az eredményt az adott típusra Boolean , amely False így válik 0 és True válik belőle -1. További információ: Logikai típusú konverziók.

Túlterhelés

Az Or operátor és az IsTrue 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. A túlterhelés és IsTrue az Or operátorok túlterhelése befolyásolja az operátor viselkedésétOrElse. Ha a kód túlterhelt OrIsTrueosztályt vagy struktúrát használOrElse, ügyeljen arra, hogy megértse az újradefiniált viselkedésüket. További információ: Operátori eljárások.

1. példa

Az alábbi példa az operátort OrElse használja két kifejezés logikai tiltására. Az eredmény egy Boolean érték, amely azt jelzi, hogy a két kifejezés bármelyike igaz-e. Ha az első kifejezés, Truea második nem lesz kiértékelve.

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

Az előző példa az , Trueés False a megfelelő eredményt Trueadja eredményül. A számítás firstChecksorán a második kifejezés nem lesz kiértékelve, mert az első már True. A második kifejezés azonban kiértékelésre kerül a számítás secondChecksorán.

2. példa

Az alábbi példa egy ...Then utasítást Ifmutat be, amely két eljáráshívást tartalmaz. Ha az első hívás visszatér True, a második eljárás nem lesz meghívva. Ez váratlan eredményeket eredményezhet, ha a második eljárás olyan fontos feladatokat hajt végre, amelyeket mindig el kell végezni a kód ezen szakaszának futtatásakor.

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

Lásd még