Or (Operador, Visual Basic)Or Operator (Visual Basic)

Realiza una disyunción lógica entre dos expresiones Boolean, o una disyunción bit a bit entre dos expresiones numéricas.Performs a logical disjunction on two Boolean expressions, or a bitwise disjunction on two numeric expressions.

SintaxisSyntax

result = expression1 Or expression2  

ElementosParts

result
Obligatorio.Required. Cualquier Boolean o expresión numérica.Any Boolean or numeric expression. En Boolean comparación, result es la disyunción lógica inclusiva de dos valores Boolean.For Boolean comparison, result is the inclusive logical disjunction of two Boolean values. 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.For bitwise operations, result is a numeric value representing the inclusive bitwise disjunction of two numeric bit patterns.

expression1
Obligatorio.Required. Cualquier Boolean o expresión numérica.Any Boolean or numeric expression.

expression2
Obligatorio.Required. Cualquier Boolean o expresión numérica.Any Boolean or numeric expression.

ComentariosRemarks

Para la comparación de Boolean, result se False si y solo si expression1 y expression2 se evalúan como False.For Boolean comparison, result is False if and only if both expression1 and expression2 evaluate to False. En la tabla siguiente se muestra cómo se determina result.The following table illustrates how result is determined.

Si expression1 esIf expression1 is Y expression2 esAnd expression2 is El valor de result esThe value of result is
True True True
True False True
False True True
False False False

Nota

En una comparación de Boolean, el operador Or siempre evalúa ambas expresiones, lo que podría incluir la realización de llamadas a procedimientos.In a Boolean comparison, the Or operator always evaluates both expressions, which could include making procedure calls. El operador OrElse realiza un cortocircuito, lo que significa que si expression1 es True, expression2 no se evalúa.The OrElse Operator performs short-circuiting, which means that if expression1 is True, then expression2 is not evaluated.

Para las operaciones bit a bit, el operador Or realiza una comparación bit a bit de los bits colocados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en result según la tabla siguiente.For bitwise operations, the Or operator performs a bitwise comparison of identically positioned bits in two numeric expressions and sets the corresponding bit in result according to the following table.

Si el bit de expression1 esIf bit in expression1 is Y el bit de expression2 esAnd bit in expression2 is El bit de result esThe bit in result is
11 11 11
11 00 11
00 11 11
00 00 00

Nota

Puesto que los operadores lógicos y bit a bit tienen una prioridad más baja que otros operadores aritméticos y relacionales, las operaciones bit a bit deben ir entre paréntesis para garantizar una ejecución precisa.Since the logical and bitwise operators have a lower precedence than other arithmetic and relational operators, any bitwise operations should be enclosed in parentheses to ensure accurate execution.

Tipos de datosData Types

Si los operandos constan de una expresión de Boolean y una expresión numérica, Visual Basic convierte la expresión de Boolean en un valor numérico (– 1 para True y 0 para False) y realiza una operación bit a bit.If the operands consist of one Boolean expression and one numeric expression, Visual Basic converts the Boolean expression to a numeric value (–1 for True and 0 for False) and performs a bitwise operation.

Para una comparación de Boolean, se Booleanel tipo de datos del resultado.For a Boolean comparison, the data type of the result is Boolean. En 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.For a bitwise comparison, the result data type is a numeric type appropriate for the data types of expression1 and expression2. Vea la tabla "comparaciones relacionales y bit a bit" en tipos de datos de resultados de operadores.See the "Relational and Bitwise Comparisons" table in Data Types of Operator Results.

SobrecargaOverloading

El operador de Or 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.The Or operator can be overloaded, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de entender su comportamiento redefinido.If your code uses this operator on such a class or structure, be sure you understand its redefined behavior. Para obtener más información, consulta Operator Procedures.For more information, see Operator Procedures.

EjemploExample

En el ejemplo siguiente se usa el operador Or para realizar una disyunción lógica inclusiva entre dos expresiones.The following example uses the Or operator to perform an inclusive logical disjunction on two expressions. El resultado es un valor Boolean que representa si una de las dos expresiones es True.The result is a Boolean value that represents whether either of the two expressions is 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 de True, Truey False, respectivamente.The preceding example produces results of True, True, and False, respectively.

EjemploExample

En el ejemplo siguiente se usa el operador Or para realizar una disyunción lógica inclusiva en los bits individuales de dos expresiones numéricas.The following example uses the Or operator to perform inclusive logical disjunction on the individual bits of two numeric expressions. El bit del modelo de resultado se establece si alguno de los bits correspondientes de los operandos se establece en 1.The bit in the result pattern is set if either of the corresponding bits in the operands is set to 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.The preceding example produces results of 10, 14, and 14, respectively.

Vea tambiénSee also