Sdílet prostřednictvím


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)

Or – operátor (Visual Basic)

IsTrue – operátor (Visual Basic)

Koncepty

Logické a bitové operátory v jazyce Visual Basic