Compartir a través de


Operador Or (Visual Basic)

Realiza una disjunción lógica en dos Boolean expresiones o una disjunción bit a bit en dos expresiones numéricas.

Sintaxis

result = expression1 Or expression2  

Partes

result
Obligatorio. Cualquier Boolean expresión numérica o . Para Boolean la comparación, result es la disjunción lógica inclusiva de dos Boolean valores. Para las operaciones bit a bit, result es un valor numérico que representa la disjunción bit a bit inclusiva de dos patrones de bits numéricos.

expression1
Obligatorio. Cualquier Boolean expresión numérica o .

expression2
Obligatorio. Cualquier Boolean expresión numérica o .

Observaciones

Para Boolean la comparación, result es False si y solo si y expression2expression1 se evalúan como False. En la tabla siguiente se muestra cómo result se determina.

Si expression1 es Y expression2 es El valor de result es
True True True
True False True
False True True
False False False

Nota:

En una Boolean comparación, el Or operador siempre evalúa ambas expresiones, lo que podría incluir la realización de llamadas a procedimiento. El operador OrElse realiza un cortocircuito, lo que significa que, si expression1 es True, expression2 no se evalúa.

Para las operaciones bit a bit, el Or operador realiza una comparación bit a bit de bits de bits con posición idéntica en dos expresiones numéricas y establece el bit correspondiente en result según la tabla siguiente.

Si el bit en expression1 es Y bit en expression2 es El bit en result es
1 1 1
1 0 1
0 1 1
0 0 0

Nota:

Dado que los operadores lógicos y bit a bit tienen una prioridad menor que otros operadores aritméticos y relacionales, las operaciones bit a bit deben incluirse entre paréntesis para garantizar una ejecución precisa.

Tipos de datos

Si los operandos constan de una Boolean expresión y una expresión numérica, Visual Basic convierte la Boolean expresión en un valor numérico (–1 para True y 0 para False) y realiza una operación bit a bit.

Para una Boolean comparación, el tipo de datos del resultado es Boolean. Para una comparación bit a bit, el tipo de datos de resultado es un tipo numérico adecuado para los tipos de datos de expression1 y expression2. Vea la tabla "Comparaciones relacionales y bit a bit" en Tipos de datos de los resultados del operador.

Sobrecarga

El Or operador se puede sobrecargar, lo que significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de comprender su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.

Ejemplo 1

En el ejemplo siguiente se usa el Or operador para realizar una disjunción lógica inclusiva en dos expresiones. El resultado es un Boolean valor que representa si cualquiera de las dos expresiones 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

En el ejemplo anterior se generan resultados de True, Truey False, respectivamente.

Ejemplo 2

En el ejemplo siguiente se usa el Or operador para realizar la disjunción lógica inclusiva en los bits individuales de dos expresiones numéricas. El bit del patrón de resultado se establece si alguno de los bits correspondientes de los operandos se establece en 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)

En el ejemplo anterior se generan resultados de 10, 14 y 14, respectivamente.

Consulte también