Or – operátor (Visual Basic)
Provede logickou disjunkci u dvou výrazů nebo bitovou Boolean disjunkci u dvou číselných výrazů.
Syntax
result = expression1 Or expression2
Součásti
result
Povinná hodnota. Libovolný Boolean nebo číselný výraz. Pro Boolean porovnání result je inkluzivní logická disjunkce dvou Boolean hodnot. Pro bitové operace result je číselná hodnota představující inkluzivní bitový disjunkci dvou číselných bitových vzorů.
expression1
Povinná hodnota. Libovolný Boolean nebo číselný výraz.
expression2
Povinná hodnota. Libovolný Boolean nebo číselný výraz.
Poznámky
Pro Boolean porovnání je , pokud a pouze v případě, že obě a result False expression1 expression2 vyhodnoceny jako False . Následující tabulka ukazuje, jak result se určí.
Pokud expression1 je |
A expression2 je |
Hodnota result je . |
|---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Poznámka
V porovnání Boolean operátor Or vždy vyhodnotí oba výrazy, což může zahrnovat volání procedur. Operátor OrElse provádí zkrácení, což znamená, že pokud je expression1 , pak se True expression2 nevyhodnotí.
Pro bitové operace provádí operátor bitové porovnání identicky umístěných bitů ve dvou číselných výrazech a nastavuje odpovídající bit v podle Or result následující tabulky.
Pokud bit v expression1 je |
A bit expression2 v je |
Bit v souboru result je |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Poznámka
Vzhledem k tomu, že logické a bitové operátory mají nižší prioritu než jiné aritmetické a relační operátory, měly by být všechny bitové operace uzavřeny do závorek, aby se zajistilo přesné spuštění.
Typy dat
Pokud se operandy skládají z jednoho výrazu a jednoho číselného výrazu, Visual Basic převede výraz na číselnou hodnotu (–1 pro a 0 pro ) a provede Boolean Boolean True False bitové operace.
Pro Boolean porovnání je datový typ výsledku Boolean . Pro bitové porovnání je výsledný datový typ číselný typ vhodný pro datové typy a expression1 expression2 . Podívejte se na tabulku "Relační a bitové porovnání" ve výsledcích datových typů operátorů.
Přetížení
Operátor Or může být přetížen, což znamená, že třída nebo struktura může předefinovat své chování, pokud má operand typ této třídy nebo struktury. Pokud váš kód používá tento operátor u takové třídy nebo struktury, ujistěte se, že rozumíte jejímu předdefinované chování. Další informace najdete v tématu Procedury operátora.
Příklad 1
Následující příklad používá operátor Or k provedení inkluzivní logické disjunkce u dvou výrazů. Výsledkem je Boolean hodnota, která představuje, zda je některý ze dvou výrazů 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
Předchozí příklad vytvoří výsledky True , True a v uvedeném False pořadí.
Příklad 2
Následující příklad používá operátor k provedení inkluzivní logické disjunkce pro jednotlivé Or bity dvou číselných výrazů. Bit ve vzorci výsledků je nastaven, pokud je některý z odpovídajících bitů v operandech nastaven na hodnotu 1.
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)
Předchozí příklad vytvoří výsledky 10, 14 a 14.