Compartilhar via


Operador Or (Visual Basic)

Realiza uma disjunção lógica em duas expressões Boolean, ou uma disjunção bit a bit em duas expressões numéricas.

result = expression1 Or expression2

Partes

  • result
    Obrigatório. Qualquer Boolean ou expressão numérica. Para comparação Boolean, result é a disjunção lógica inclusiva de dois valores Boolean. Para operações bit a bit, result é um valor numérico representando a disjução bit a bit de dois padrões numéricos de bits.

  • expression1
    Obrigatório. Qualquer Boolean ou expressão numérica.

  • expression2
    Obrigatório. Qualquer Boolean ou expressão numérica.

Comentários

Para comparação Boolean, result é False se e somente se as duas expression1 e expression2 são False. A tabela a seguir ilustra como result é determinado.

Se expression1 está

E expression2 é

O valor do result é

True

True

True

True

False

True

False

True

True

False

False

False

Dica

Numa comparação Boolean, o operador Or sempre avalia as duas expressões, que podem incluir chamadas a procedimentos.O Operador OrElse (Visual Basic) performa short-circuiting, o que significa que se expression1 é True, então a expression2 não é analisada.

Para operações bit a bit, o operador Or executa uma comparação bit a bit de bits posicionados identicamente em duas expressões numéricas e configura o bit correspondente no result de acordo com a seguinte tabela.

Se o bit em expression1 é

E o bit na expression2 é

O bit em result será

1

1

1

1

0

1

0

1

1

0

0

0

Dica

Considerando que os operadores lógicos e bit a bit têm menor precedência do que outros operadores aritméticos e relacionais, quaisquer operações bit a bit devem ser cercada por parênteses para seja assegurada a acurácia da execução.

Tipos de dados

Se o operando consiste de uma expressão Boolean e uma expressão numérica, o Visual Basic converte a expressão Boolean para um valor numérico (-1 para True e 0 para False) e executa uma operação bit a bit.

Para uma comparação Boolean, o tipo de dados do resultado é Boolean. Para obter uma comparação bit a bit, o tipo de dado do resultado é um tipo numérico apropriado para os tipos de dados de expression1 e expression2. Veja a tabela " Comparações Relacionais e Bit a Bit" em Tipos de dados de resultados do operador (Visual Basic).

Sobrecarga

O operador Or pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo daquela classe ou estrutura. Se seu código usa esse operador em tal classe ou estrutura, esteja certo que entende seu comportamento redefinido. Para obter mais informações, consulte Procedimentos do operador (Visual Basic).

Exemplo

O exemplo seguinte usa o operador Or para executar uma disjunção lógica inclusiva em duas expressões. O resultado é um valor Boolean que representa se uma das duas expressões são 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

O exemplo anterior produz resultados True, True e False respectivamente.

O exemplo seguinte usa o operador Or para executar uma disjunção lógica inclusiva nos bits individuais de duas expressões numéricas. O bit no padrão resultante é setado se um dos bits correspondentes nos dois operandos é 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)

O exemplo anterior produz resultados de 10, 14 e 14, respectivamente.

Consulte também

Referência

Operadores lógicos/bit a bit (Visual Basic)

Precedência do operador no Visual Basic

Operadores listados por funcionalidade (Visual Basic)

Operador OrElse (Visual Basic)

Conceitos

Operadores lógicos e bit a bit no Visual Basic