Compartir a través de


Expresiones booleanas (Visual Basic)

Una expresión booleana es una expresión que se evalúa como un valor del tipo de datos booleano: True o False. Boolean las expresiones pueden tener varias formas. La más sencilla es la comparación directa del valor de una Boolean variable con un Boolean literal, como se muestra en el ejemplo siguiente.

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

Dos significados del = operador

Observe que la instrucción newCustomer = True de asignación tiene el mismo aspecto que la expresión en el ejemplo anterior, pero realiza una función diferente y se usa de forma diferente. En el ejemplo anterior, la expresión newCustomer = True representa un valor booleano y el = signo se interpreta como un operador de comparación. En una instrucción independiente, el = signo se interpreta como un operador de asignación y asigna el valor de la derecha a la variable de la izquierda. En el ejemplo siguiente se muestra esto.

If newCustomer = True Then
    newCustomer = False
End If

Para obtener más información, consulte Comparaciones de valor y Declaraciones.

Operadores de comparación

Los operadores de comparación como =, <, >, <>, <=y >= generan expresiones booleanas comparando la expresión en el lado izquierdo del operador con la expresión en el lado derecho del operador y evaluando el resultado como True o False. En el ejemplo siguiente se muestra esto.

42 < 81

Dado que 42 es menor que 81, la expresión booleana del ejemplo anterior se evalúa como True. Para obtener más información sobre este tipo de expresión, vea Comparaciones de valores.

Operadores de comparación combinados con operadores lógicos

Las expresiones de comparación se pueden combinar mediante operadores lógicos para generar expresiones booleanas más complejas. En el ejemplo siguiente se muestra el uso de operadores de comparación junto con un operador lógico.

x > y And x < 1000

En el ejemplo anterior, el valor de la expresión general depende de los valores de las expresiones de cada lado del And operador. Si ambas expresiones son True, la expresión general se evalúa como True. Si cualquiera de las expresiones es False, la expresión completa se evalúa como False.

Operadores de cortocircuito

Los operadores lógicos AndAlso y OrElse el comportamiento de exposición conocidos como cortocircuito. Un operador de cortocircuito evalúa primero el operando izquierdo. Si el operando izquierdo determina el valor de toda la expresión, la ejecución del programa continúa sin evaluar la expresión derecha. En el ejemplo siguiente se muestra esto.

If 45 < 12 AndAlso testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

En el ejemplo anterior, el operador evalúa la expresión izquierda, 45 < 12. Dado que la expresión izquierda se evalúa como False, toda la expresión lógica debe evaluarse como False. La ejecución del programa omite así la ejecución del código dentro del If bloque sin evaluar la expresión correcta, testFunction(3). En este ejemplo no se llama testFunction() porque la expresión izquierda falsifica toda la expresión.

De forma similar, si la expresión izquierda de una expresión lógica mediante OrElse se evalúa como True, la ejecución continúa con la siguiente línea de código sin evaluar la expresión derecha, ya que la expresión izquierda ya ha validado toda la expresión.

Comparación con operadores que no son de cortocircuito

Por el contrario, ambos lados del operador lógico se evalúan cuando se usan los operadores And lógicos y Or . En el ejemplo siguiente se muestra esto.

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

En el ejemplo anterior se llama a testFunction() aunque la expresión izquierda se evalúe como False.

Expresiones entre paréntesis

Puede usar paréntesis para controlar el orden de evaluación de expresiones booleanas. Las expresiones entre paréntesis se evalúan primero. Para varios niveles de anidamiento, se concede prioridad a las expresiones anidadas más profundamente. Entre paréntesis, la evaluación continúa según las reglas de precedencia del operador. Para obtener más información, vea Precedencia del operador en Visual Basic.

Consulte también