Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Effectue une disjonction logique inclusive en court-circuit sur deux expressions.
Syntaxe
result = expression1 OrElse expression2
Pièces
result
Obligatoire. Toute Boolean
expression.
expression1
Obligatoire. Toute Boolean
expression.
expression2
Obligatoire. Toute Boolean
expression.
Remarques
Une opération logique est considérée comme un court-circuit si le code compilé peut contourner l’évaluation d’une expression en fonction du résultat d’une autre expression. Si le résultat de la première expression évaluée détermine le résultat final de l’opération, il n’est pas nécessaire d’évaluer la deuxième expression, car elle ne peut pas modifier le résultat final. Le court-circuit peut améliorer les performances si l’expression contournée est complexe ou si elle implique des appels de procédure.
Si l’une ou l’autre des deux expressions prend True
la valeur , result
est True
. Le tableau suivant montre comment result
déterminer.
Si expression1 c’est |
Et expression2 c’est |
La valeur de result est |
---|---|---|
True |
(non évalué) | True |
False |
True |
True |
False |
False |
False |
Types de données
L’opérateur OrElse
est défini uniquement pour le type de données booléen. Visual Basic convertit chaque opérande selon les besoins avant Boolean
d’évaluer l’expression. Si vous affectez le résultat à un type numérique, Visual Basic le convertit de Boolean
ce type de sorte qu’il False
devient 0
et True
devient -1
.
Pour plus d’informations, consultez Conversions de types booléens.
Surcharge
L’opérateur Or et l’opérateurIsTrue peuvent être surchargés, ce qui signifie qu’une classe ou une structure peut redéfinir leur comportement lorsqu’un opérande a le type de cette classe ou structure. La surcharge des Or
IsTrue
opérateurs affecte le comportement de l’opérateur OrElse
. Si votre code utilise OrElse
sur une classe ou une structure qui surcharge Or
et IsTrue
, veillez à comprendre leur comportement redéfini. Pour plus d’informations, consultez Procédures d’opérateur.
Exemple 1
L’exemple suivant utilise l’opérateur OrElse
pour effectuer une disjonction logique sur deux expressions. Le résultat est une Boolean
valeur qui indique si l’une des deux expressions est vraie. Si la première expression est True
, la seconde n’est pas évaluée.
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
L’exemple précédent produit des résultats , True
True
et False
respectivement. Dans le calcul de firstCheck
, la deuxième expression n’est pas évaluée, car la première est déjà True
. Toutefois, la deuxième expression est évaluée dans le calcul de secondCheck
.
Exemple 2
L’exemple suivant montre une If
instruction ...Then
contenant deux appels de procédure. Si le premier appel retourne True
, la deuxième procédure n’est pas appelée. Cela peut produire des résultats inattendus si la deuxième procédure effectue des tâches importantes qui doivent toujours être effectuées lorsque cette section du code s’exécute.
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