Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Executa a disjunção lógica inclusiva de curto-circuito em duas expressões.
Sintaxe
result = expression1 OrElse expression2
Partes
result
Obrigatório Qualquer Boolean expressão.
expression1
Obrigatório Qualquer Boolean expressão.
expression2
Obrigatório Qualquer Boolean expressão.
Observações
Uma operação lógica é considerada um curto-circuito se o código compilado puder ignorar a avaliação de uma expressão, dependendo do resultado de outra expressão. Se o resultado da primeira expressão avaliada determinar o resultado final da operação, não haverá necessidade de avaliar a segunda expressão, pois ela não pode alterar o resultado final. O curto-circuito poderá melhorar o desempenho se a expressão ignorada for complexa ou se envolver chamadas de procedimento.
Se uma ou ambas as expressões forem avaliadas Truecomo , result será True. A tabela a seguir ilustra como result é determinado.
Se expression1 for |
E expression2 é |
O valor de result é |
|---|---|---|
True |
(não avaliado) | True |
False |
True |
True |
False |
False |
False |
Tipos de dados
O OrElse operador é definido apenas para o tipo de dados booliano. O Visual Basic converte cada operando conforme necessário antes Boolean de avaliar a expressão. Se você atribuir o resultado a um tipo numérico, o Visual Basic o converterá desse Boolean tipo, de modo que False se torne 0 e True se torne -1.
Para obter mais informações, consulte Conversões de tipo booliano.
Sobrecarga
O Operador Ou e o Operador IsTrue podem ser sobrecarregados, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Sobrecarregar o Or operador e IsTrue afetar o comportamento do OrElse operador. Se o código for OrElse usado em uma classe ou estrutura que sobrecarrega Or e IsTrue, certifique-se de entender o comportamento redefinido deles. Para obter mais informações, consulte Procedimentos de Operador.
Exemplo 1
O exemplo a seguir usa o OrElse operador para executar a disjunção lógica em duas expressões. O resultado é um Boolean valor que representa se uma das duas expressões é verdadeira. Se a primeira expressão for True, a segunda não será avaliada.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b
O exemplo anterior produz resultados de True, Truee False respectivamente. No cálculo de firstCheck, a segunda expressão não é avaliada porque a primeira já Trueestá . No entanto, a segunda expressão é avaliada no cálculo de secondCheck.
Exemplo 2
O exemplo a seguir mostra uma instrução If...Then que contém duas chamadas de procedimento. Se a primeira chamada for retornada True, o segundo procedimento não será chamado. Isso poderá produzir resultados inesperados se o segundo procedimento executar tarefas importantes que sempre devem ser executadas quando esta seção do código for executada.
If testFunction(5) = True OrElse otherFunction(4) = True Then
' If testFunction(5) is True, otherFunction(4) is not called.
' Insert code to be executed.
End If