OrElse – operátor (Visual Basic)
Provádí nesmídojít ke zkratu včetně logický součet dvou výrazů.
result = expression1 OrElse expression2
Části
result
Povinné.Všechny Boolean výraz.expression1
Povinné.Všechny Boolean výraz.expression2
Povinné.Všechny Boolean výraz.
Poznámky
Logická operace, které je označováno jako nesmídojít ke zkratu Pokud zkompilovaný kód vynechat hodnocení jeden výraz v závislosti na výsledku jiného výrazu.Je-li výsledek první výraz vyhodnocen Určuje konečný výsledek operace, není nutné vyhodnotit výraz druhé, protože ji nelze změnit konečný výsledek.Nesmídojít ke zkratu může zlepšit výkon obejitím výraz je složitý nebo zahrnuje volání procedur.
Pokud jednoho nebo obou výrazů vyhodnoceny True, result je True.Následující tabulka ukazuje, jak result je určena.
If expression1 is |
And expression2 is |
Hodnota result je |
---|---|---|
True |
(nehodnoceno) |
True |
False |
True |
True |
False |
False |
False |
Typy dat
OrElse Operátor je definována pouze Boolean – datový typ (Visual Basic).Visual Basic převede operandem jako nezbytné Boolean a provede operaci zcela v Boolean.Pokud přiřadíte výsledek číselného typu, Visual Basic, převede ho z Boolean typu.To by mohla vést k neočekávanému chování.Například 5 OrElse 12 vede k –1 při převodu na Integer.
Přetěžování
Or – operátor (Visual Basic) a IsTrue – operátor (Visual Basic) může být přetížení, což znamená, že třídy nebo struktury předefinovat jejich chování při operand je typu třídy nebo struktury.Přetížení Or a IsTrue operátory ovlivňuje chování OrElse operátor.Pokud váš kód používá OrElse na třídy nebo struktury, která přetížení Or a IsTrue, je třeba pochopit jejich předefinovaná chování.Další informace naleznete v tématu Procedury operátoru (Visual Basic).
Příklad
V následujícím příkladu OrElse operátor logický součet dvou výrazů.Výsledkem je Boolean hodnotu, která představuje zda je splněna některá dva výrazy.Pokud je první výraz True, druhý nebudou vyhodnoceny.
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
V předchozím příkladu vytváří výsledky True, True, a False resp..Při výpočtu firstCheck, druhý výraz není vyhodnocena, protože již je první True.Však druhý výraz vyhodnocen ve výpočtu secondCheck.
V následujícím příkladu If...Then prohlášení obsahující dvě volání procedur.Vrátí první volání True, druhý postup není volána.Pokud druhý postup provádí důležité úkoly, které by měly být provedeny vždy při spuštění této části kódu to může vést k neočekávaným výsledkům.
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
Viz také
Referenční dokumentace
Logické/bitové operátory (Visual Basic)
Priorita operátorů v jazyce Visual Basic
Operátory uvedené podle funkce (Visual Basic)
IsTrue – operátor (Visual Basic)