Or – operátor (Visual Basic)

Provede logickou disjunkci na dvou Boolean výrazech nebo bitovou disjunkci na dvou číselných výrazech.

Syntaxe

result = expression1 Or expression2  

Součástky

result
Povinný: Libovolný Boolean nebo číselný výraz Pro Boolean porovnání result je inkluzivní logický disjunkce dvou Boolean hodnot. U bitových operací result je číselná hodnota představující inkluzivní bitovou disjunkci dvou číselných bitových vzorů.

expression1
Povinný: Libovolný Boolean nebo číselný výraz

expression2
Povinný: Libovolný Boolean nebo číselný výraz

Poznámky

Pro Boolean porovnání result , je-li False a pouze v případě, že oba expression1 a expression2 vyhodnotit na False. Následující tabulka ukazuje, jak result je určeno.

Pokud expression1 je A expression2 je Hodnota result je
True True True
True False True
False True True
False False False

Poznámka:

Boolean Ve srovnání Or operátor vždy vyhodnocuje oba výrazy, které by mohly zahrnovat volání procedur. Operátor OrElse provádí zkratování, což znamená, že pokud expression1 je True, pak expression2 není vyhodnocen.

U bitových operací Or operátor provádí bitové porovnání identicky umístěných bitů ve dvou číselných výrazech a nastaví odpovídající bit podle result následující tabulky.

Pokud je bit v expression1 A bit in expression2 je Bit in 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 v závorkách, aby se zajistilo přesné provedení.

Typy dat

Pokud se operandy skládají z jednoho Boolean výrazu a jednoho číselného výrazu, Jazyk Visual Basic převede Boolean výraz na číselnou hodnotu (–1 pro a 0 pro TrueFalse) a provede bitové operace.

Boolean Pro porovnání je datový typ výsledku Boolean. Pro bitové porovnání je datový typ výsledku číselný typ vhodný pro datové typy expression1 a expression2. Viz tabulka Relační a bitové porovnání v datových typech výsledků operátoru.

Přetížení

Operátor Or může být přetížen, což znamená, že třída nebo struktura mohou předefinovat jeho chování, pokud operand má typ této třídy nebo struktury. Pokud váš kód používá tento operátor pro takovou třídu nebo strukturu, ujistěte se, že rozumíte jeho předdefinované chování. Další informace naleznete v tématu Procedury operátoru.

Příklad 1

Následující příklad používá Or operátor 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, Truea False, v uvedeném pořadí.

Příklad 2

Následující příklad používá Or operátor k provedení inkluzivní logické disjunkce na jednotlivých bitech dvou číselných výrazů. Bit ve výsledném vzoru 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.

Viz také