Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Két kifejezésen rövidzárolású, inkluzív logikai tiltást hajt végre.
Szemantika
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átortú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