Operador Or (Visual Basic)
Executa uma disjunção lógica em duas Boolean
expressões, ou uma disjunção bit a bit em duas expressões numéricas.
Sintaxe
result = expression1 Or expression2
Partes
result
Obrigatório. Qualquer Boolean
expressão ou expressão numérica. Para Boolean
comparação, result
é a disjunção lógica inclusiva de dois Boolean
valores. Para operações bitwise, result
é um valor numérico que representa a disjunção bitwise inclusiva de dois padrões de bits numéricos.
expression1
Obrigatório. Qualquer Boolean
expressão ou expressão numérica.
expression2
Obrigatório. Qualquer Boolean
expressão ou expressão numérica.
Observações
Para Boolean
comparação, result
é False
se e somente se ambos expression1
e expression2
avaliar a False
. A tabela a seguir ilustra como result
é determinado.
Se expression1 for |
E expression2 é |
O valor de result é |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Nota
Em uma Boolean
comparação, o operador sempre avalia ambas as expressões, o Or
que pode incluir fazer chamadas de procedimento. O Operador OrElse executa curto-circuito, o que significa que se expression1
é True
, então expression2
não é avaliado.
Para operações bitwise, o Or
operador executa uma comparação bit a bit de bits posicionados de forma idêntica em duas expressões numéricas e define o bit correspondente de acordo com result
a tabela a seguir.
Se bit in expression1 é |
E pouco a pouco expression2 é |
O bit in result é |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
Nota
Uma vez que os operadores lógicos e bitwise têm uma precedência menor do que outros operadores aritméticos e relacionais, quaisquer operações bitwise devem ser colocadas entre parênteses para garantir uma execução precisa.
Tipos de Dados
Se os operandos consistirem em uma Boolean
expressão e uma expressão numérica, o Visual Basic converte a Boolean
expressão em um valor numérico (–1 para True
e 0 para False
) e executa uma operação bitwise.
Para uma Boolean
comparação, o tipo de dados do resultado é Boolean
. Para uma comparação bit a bits, o tipo de dados de resultado é um tipo numérico apropriado para os tipos de dados de expression1
e expression2
. Consulte a tabela "Comparações relacionais e bitwise" em Tipos de dados de resultados do operador.
Sobrecarga
O Or
operador pode estar sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Se o seu código usa esse operador em tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte Procedimentos do operador.
Exemplo 1
O exemplo a seguir usa o Or
operador para executar uma disjunção lógica inclusiva em duas expressões. O resultado é um Boolean
valor que representa se uma das duas expressões é 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 de True
, True
, e False
, respectivamente.
Exemplo 2
O exemplo a seguir usa o operador para executar a Or
disjunção lógica inclusiva nos bits individuais de duas expressões numéricas. O bit no padrão de resultado é definido se qualquer um dos bits correspondentes nos operandos estiver definido como 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.