Or (Operador, Visual Basic)

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

Sintaxis

result = expression1 Or expression2  

Partes

result
Obligatorio. Cualquier expresión numérica o de tipo Boolean. Para Boolean la comparación, result es la disyunción lógica inclusiva de dos Boolean valores. Para las operaciones bit a bit, es un valor numérico que representa la disyunción bit a bit inclusiva result de dos patrones 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 Boolean la comparación, result es si y solo si y se False expression1 expression2 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 realizar llamadas a procedimientos. El operador OrElse realiza un cortocircuito, lo que significa que, si es , no se expression1 True expression2 evalúa.

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

Si bit in expression1 es Y bit in 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 bit a bit tienen una prioridad menor que otros operadores aritméticos y relacionales, las operaciones bit a bit se deben incluir entre paréntesis para garantizar una ejecución precisa.

Tipo de datos

Si los operandos constan de una expresión y una expresión numérica, Visual Basic convierte la expresión en un valor numérico (–1 para y 0 para ) y realiza una operación Boolean Boolean bit a True False 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 resultados del operador.

Sobrecarga

El Or operador se puede sobrecargar, lo que significa que una clase o estructura puede volver a definir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. Si el código usa este operador en dicha clase o estructura, asegúrese de que comprende su comportamiento redefinido. Para obtener más información, consulta Operator Procedures.

Ejemplo 1

En el ejemplo siguiente se usa Or el operador para realizar una disyunción lógica inclusiva en dos expresiones. El resultado es un Boolean valor que representa si una 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 los resultados True de , y , True False respectivamente.

Ejemplo 2

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

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

Consulta también