Compartir a través de


Or (Operador, Visual Basic)

Realiza una disyunción lógica entre dos expresiones de tipo Boolean o bien una disyunción bit a bit entre dos expresiones numéricas.

result = expression1 Or expression2

Elementos

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

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

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

Comentarios

Para la comparación Boolean, result es False si y sólo si expression1 y expression2 se evalúan como False. En la tabla siguiente se ilustra cómo se determina el argumento result.

Si el valor de 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 comparación Boolean, el operador Or evalúa siempre las dos expresiones, lo que podría incluir realizar llamadas a procedimientos.OrElse (Operador) (Visual Basic) realiza un cortocircuito, lo que significa que si expression1 es True, no se evalúa expression2.

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

Si el bit de expression1 es

Y el bit de expression2 es...

El bit de result es

1

1

1

1

0

1

0

1

1

0

0

0

Nota

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

Tipos de datos

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

Para una comparación Boolean, el tipo de datos del resultado es Boolean. Para una comparación bit a bit, el tipo de datos del 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 resultados de operador (Visual Basic).

Sobrecarga

El operador Or se puede sobrecargar, lo que significa que una clase o una estructura pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador (Visual Basic).

Ejemplo

En el ejemplo siguiente se usa el operador Or para realizar una disyunción lógica inclusiva entre dos expresiones. El resultado será un valor de tipo Boolean que indicará si alguna 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

El ejemplo anterior genera unos resultados de True, True y False, respectivamente.

En el ejemplo siguiente se usa el operador Or para realizar una disyunción lógica inclusiva entre cada uno de los bits de dos expresiones numéricas. El bit en el modelo resultante se establece si uno de los bits correspondientes de los operandos se ha establecido 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)

El ejemplo anterior genera unos resultados de 10, 14 y 14, respectivamente.

Vea también

Referencia

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

Prioridad de operador en Visual Basic

Operadores enumerados por funcionalidad (Visual Basic)

OrElse (Operador) (Visual Basic)

Conceptos

Operadores lógicos y bit a bit en Visual Basic