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.
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 à True
81, 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 True
la valeur . Si l’une ou l’autre expression est False
, l’expression entière prend False
la 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 False
la 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
, True
l’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 False
valeur .
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.