Partager via


Expressions booléennes (Visual Basic)

Une expression booléenne est une expression qui prend la valeur du type de données booléen : True ou False. Boolean les expressions peuvent prendre plusieurs formes. La plus simple est la comparaison directe de la valeur d’une Boolean variable à un Boolean littéral, comme illustré dans 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 newCustomer = True d’affectation ressemble à l’expression de l’exemple précédent, mais qu’elle exécute une fonction différente et qu’elle est utilisée différemment. Dans l’exemple précédent, l’expression newCustomer = True représente une valeur booléenne 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’affectation et affecte la valeur à droite à la variable à gauche. L’exemple suivant illustre cela.

If newCustomer = True Then
    newCustomer = False
End If

Pour plus d’informations, consultez Comparaisons de valeurs et instructions.

Opérateurs de comparaison

Opérateurs de comparaison tels que =, ><<>, <=, et >= produisent des expressions booléennes en comparant l’expression à gauche de l’opérateur à l’expression sur le côté droit de l’opérateur et en évaluant le résultat sous True ou .False L’exemple suivant illustre cela.

42 < 81

Étant donné que 42 est inférieur à True81, l’expression booléenne dans l’exemple précédent prend la valeur . Pour plus d’informations sur ce type d’expression, consultez Comparaisons de valeurs.

Opérateurs de comparaison combinés avec des opérateurs logiques

Les expressions de comparaison peuvent être combinées à l’aide d’opérateurs logiques pour produire des expressions booléennes plus complexes. L’exemple suivant illustre l’utilisation d’opérateurs de comparaison conjointement avec un opérateur logique.

x > y And x < 1000

Dans l’exemple précédent, 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 sont True, l’expression globale prend Truela valeur . Si l’une ou l’autre expression est False, l’expression entière prend Falsela valeur .

opérateurs Short-Circuiting

Opérateurs logiques AndAlso et OrElse comportement d’exposition appelé court-circuitage. Un opérateur de court-circuitage évalue d’abord l’opérande gauche. Si l’opérande gauche détermine la valeur de l’expression entière, l’exécution du programme se poursuit sans évaluer l’expression appropriée. L’exemple suivant illustre cela.

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 Étant donné que l’expression de gauche prend Falsela valeur , l’expression logique entière doit être évaluée à False. L’exécution du programme ignore donc l’exécution du code dans le If bloc sans évaluer l’expression appropriée. testFunction(3) Cet exemple n’appelle testFunction() pas car l’expression de gauche falsifie l’expression entière.

De même, si l’expression de gauche dans une expression logique est évaluée OrElse , Truel’exécution passe à la ligne de code suivante sans évaluer l’expression droite, car l’expression de gauche a déjà validé l’expression entière.

Comparaison avec les opérateurs nonShort-Circuiting

En revanche, les deux côtés de l’opérateur logique sont évalués lorsque les opérateurs And logiques et Or sont utilisés. L’exemple suivant illustre cela.

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 gauche prend la Falsevaleur .

Expressions parenthèses

Vous pouvez utiliser des parenthèses pour contrôler l’ordre d’évaluation des expressions booléennes. Les expressions placées entre parenthèses évaluent d’abord. Pour plusieurs niveaux d’imbrication, la priorité est accordée aux expressions les plus imbriquées. Entre parenthèses, l’évaluation se poursuit en fonction des règles de précédence de l’opérateur. Pour plus d’informations, consultez Priorité des opérateurs dans Visual Basic.

Voir aussi