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

Realiza una disyunción lógica entre dos Boolean expresiones 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
Necesario.Required. Cualquier Boolean expresión numérica o.Any Boolean or numeric expression. Para Boolean la comparación result , es la disyunción lógica inclusiva de Boolean dos valores.For Boolean comparison, result is the inclusive logical disjunction of two Boolean values. Para las operaciones bit result a bit, 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
Necesario.Required. Cualquier Boolean expresión numérica o.Any Boolean or numeric expression.

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

ComentariosRemarks

Para Boolean la comparación result , False es 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 result cómo se determina.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 Boolean comparación, el Or operador 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 Or bit, el operador realiza una comparación bit a bit de los bits colocados de forma idéntica en result dos expresiones numéricas y establece el bit correspondiente en de acuerdo con 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 expression1 de esIf bit in expression1 is Y el bit expression2 en 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 Boolean expresión y una expresión numérica, Visual Basic convierte la Boolean expresión a 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 Boolean comparación, el tipo de datos del resultado es Boolean.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 expression1 los expression2tipos de datos de y.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 Or operador se puedesobrecargar, 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 Or usa el operador 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 Boolean valor que indica si cualquiera 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 Truelos Trueresultados de False, y, respectivamente.The preceding example produces results of True, True, and False, respectively.

EjemploExample

En el ejemplo siguiente se Or usa el operador 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