Partager via


Expressions booléennes (Visual Basic)

Une expression booléenne correspond à une valeur du type de données booléen : True ou False. Les expressions Boolean peuvent se présenter sous plusieurs formes. La forme la plus simple est la comparaison directe de la valeur d'une variable Boolean à un littéral Boolean, comme le montre l'exemple suivant :

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

Deux significations de l'opérateur =

Notez que l'instruction d'assignation newCustomer = True ressemble à l'expression de l'exemple précédent, mais elle effectue une fonction différente et est utilisée différemment. Dans l'exemple précédent, l'expression newCustomer = True représente une valeur Boolean et le signe = est interprété comme un opérateur de comparaison. Dans une instruction autonome, le signe = est interprété comme un opérateur d'assignation et assigne la valeur de droite à la variable de gauche. L'exemple suivant illustre ce comportement :

If newCustomer = True Then
    newCustomer = False
End If

Pour plus d'informations, consultez Comparaisons de valeurs (Visual Basic) et Instructions (Visual Basic).

Opérateurs de comparaison

Les opérateurs de comparaison (=, <, >, <>, <= et >=) produisent des expressions booléennes en comparant l'expression située à gauche de l'opérateur à l'expression de droite et en assignant la valeur True ou False au résultat. L'exemple suivant illustre ce comportement :

42 < 81

Étant donné que 42 est inférieur à 81, l'expression booléenne de l'exemple précédent a la valeur True. Pour plus d'informations sur ce type d'expression, consultez Comparaisons de valeurs (Visual Basic).

Opérateurs de comparaison associés aux opérateurs logiques

Les expressions de comparaison peuvent être combinées à l'aide d'opérateurs logiques pour créer des expressions booléennes plus complexes. L'exemple suivant illustre l'utilisation d'opérateurs de comparaison associés à un opérateur logique.

x > y And x < 1000

Dans cet exemple, la valeur de l'expression globale dépend des valeurs des expressions de chaque côté de l'opérateur And. Si les deux expressions ont la valeur True, l'expression globale a la valeur True. Si l'une des expressions a la valeur False, l'expression globale a la valeur False.

Opérateurs de court-circuit

Les opérateurs logiques AndAlso et OrElse se comportent comme des courts-circuits. Un opérateur de court-circuit évalue premièrement l'opérande de gauche. Si l'opérande de gauche détermine la valeur de l'expression globale, l'exécution du programme se poursuit sans évaluer l'expression de droite. L'exemple suivant illustre ce comportement :

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

Dans l'exemple précédent, l'opérateur évalue l'expression de gauche, 45 < 12. Puisque l'expression de gauche a pour valeur False, l'expression logique globale doit avoir la valeur False. L'exécution du programme ignore ainsi l'exécution du code dans le bloc If sans évaluer l'expression de droite, testFunction(3). Cet exemple n'appelle pas testFunction() parce que l'expression de gauche falsifie l'expression globale.

De même, si l'expression de gauche d'une expression logique utilisant OrElse a la valeur True, l'exécution se poursuit sur la prochaine ligne de code sans évaluer l'expression de droite, car l'expression de gauche a déjà validé l'expression complète.

Comparaison avec des opérateurs n'effectuant pas de court-circuit

En revanche, les deux côtés de l'opérateur logique sont évalués lors de l'utilisation des opérateurs logiques And et Or. L'exemple suivant illustre ce comportement :

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

L'exemple précédent appelle testFunction() même si l'expression de gauche a la valeur False.

Expressions entre parenthèses

Vous pouvez utiliser des parenthèses pour contrôler l'ordre d'évaluation des expressions booléennes. Les expressions entre parenthèses sont évaluées en premier lieu. Pour plusieurs niveaux d'imbrication, la priorité est accordée aux expressions les plus profondément imbriquées. Au sein des parenthèses, l'évaluation se poursuit selon les règles de priorité des opérateurs. Pour plus d'informations, consultez Priorité des opérateurs en Visual Basic.

Voir aussi

Référence

Opérateurs de comparaison (Visual Basic)

Priorité des opérateurs en Visual Basic

Booléen, type de données (Visual Basic)

Concepts

Opérateurs de bits et opérateurs logiques en Visual Basic

Comparaisons de valeurs (Visual Basic)

Association efficace d'opérateurs (Visual Basic)

Autres ressources

Instructions dans Visual Basic