Partilhar via


Expressões booleanas

A expressão booliana é uma expressão avaliada como um valor igual a Tipo de dados booliano.Boolean expressões podem tomar vários formulários. O mais simples é a comparação direta do valor de um Boolean variável para um Boolean literal, sistema autônomo mostrado no exemplo a seguir.

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

Dois significados do operador =

Observe que a demonstrativo de atribuição newCustomer = True parece o mesmo sistema autônomo a expressão no exemplo anterior, mas ele executa uma função diferente e é usado de maneira diferente. No exemplo anterior, a expressão newCustomer = True representa um valor booliano e o = sinal é interpretado sistema autônomo um operador de comparação. Em uma demonstrativo independente, a = sinal é interpretado sistema autônomo um operador de atribuição e atribui o valor à direita para a variável à esquerda. O exemplo a seguir ilustra isto:

If newCustomer = True Then
    newCustomer = False
End If

Para obter mais informações, consulte Comparações de Valor e Instruções de atribuição.

Operadores de Comparação

Operadores de comparação, sistema autônomo =, <, >, <>, <=, e >= produzir booliano expressões, comparando a expressão no lado esquerdo do operador para a expressão à direita do operador e avaliar o resultado sistema autônomo True ou False. O exemplo a seguir ilustra isto:

42 < 81

Como 42 é menor que 81, o booliano expressão no exemplo anterior for avaliada como True. Para mais informações sobre esse tipo de expressão, consulte Comparações de Valor.

Operadores de comparação combinados com operadores lógicos

Expressões de comparação podem ser combinadas usando operadores lógicos para produzir mais complexos expressões booleanas.O exemplo a seguir demonstra o uso de operadores de comparação em conjunto com um operador lógico.

x > y And x < 1000

No exemplo anterior, o valor da expressão geral depende dos valores das expressões em cada lado do And operador. Se as duas expressões forem True, e, em seguida, a expressão geral é avaliada como True. Se uma das expressões for False, em seguida, a expressão toda é avaliada como False.

Operadores short-Circuiting

sistema autônomo operadores lógicos AndAlso e OrElse comportamento conhecido sistema autônomo Short-circuiting.Um operador de curto-circuito avaliará primeiro operando esquerdo.Se o operando esquerdo determina o valor da expressão inteira, a execução do programa prossegue sem avaliar a expressão à direita.O exemplo a seguir ilustra isto:

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

No exemplo anterior, o operador avalia a expressão à esquerda, 45 < 12. Porque a expressão à esquerda é avaliada como False, toda a expressão lógica deve ser avaliada como False. Execução do programa, portanto, ignora a execução do código dentro de If Bloquear sem avaliar a expressão à direita, testFunction(3). Este exemplo não telefonar testFunction() porque a expressão à esquerda falsifies toda a expressão.

Da mesma forma, se a expressão à esquerda em uma expressão lógica usando OrElse é avaliada como True, execução continuará com a próxima linha de código sem avaliar a expressão à direita, porque a expressão à esquerda já validou a expressão inteira.

Comparação com os operadores não Circuiting curta

Por outro lado, ambos os lados do operador lógico são avaliados quando os operadores lógicos And e Or são usados. O exemplo a seguir ilustra isto:

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

O exemplo precedente chama testFunction() mesmo que a expressão à esquerda é avaliada como False.

Expressões entre parênteses

Você pode usar parênteses para controlar a ordem de avaliação de expressões booleanas.Expressões entre parênteses avaliam primeiro.Por vários níveis de aninhamento, precedência é concedida a expressões mais profundamente aninhadas.Entre parênteses, a avaliação continua de acordo com às regras de precedência do operador.Para obter mais informações, consulte Precedência de operadores no Visual Basic.

Consulte também

Conceitos

Operadores lógicas e bit a bit no Visual Basic

Comparações de Valor

Instruções de atribuição

Eficiente combinação de operadores

Referência

Operadores de comparação (Visual Basic)

Precedência de operadores no Visual Basic

Tipo de dados booleanos (Visual Basic)