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.
Les opérateurs de comparaison comparent deux expressions et retournent une Boolean
valeur qui représente la relation de leurs valeurs. Il existe des opérateurs pour comparer des valeurs numériques, des opérateurs pour comparer des chaînes et des opérateurs pour comparer des objets. Les trois types d’opérateurs sont abordés ici.
Comparaison des valeurs numériques
Visual Basic compare les valeurs numériques à l’aide de six opérateurs de comparaison numériques. Chaque opérateur prend comme opérande deux expressions qui évaluent les valeurs numériques. Le tableau suivant répertorie les opérateurs et présente des exemples de chacun d’eux.
Opérateur | Condition testée | Exemples |
---|---|---|
= (Égalité) |
La valeur de la première expression est-elle égale à la valeur de la seconde ? | 23 = 33 ' False 23 = 23 ' True 23 = 12 ' False |
<> (Inégalité) |
La valeur de la première expression est-elle inégale à la valeur de la seconde ? | 23 <> 33 ' True 23 <> 23 ' False 23 <> 12 ' True |
< (Inférieur à) |
La valeur de la première expression est-elle inférieure à la valeur de la seconde ? | 23 < 33 ' True 23 < 23 ' False 23 < 12 ' False |
> (Supérieur à) |
La valeur de la première expression est-elle supérieure à la valeur de la seconde ? | 23 > 33 ' False 23 > 23 ' False 23 > 12 ' True |
<= (Inférieur ou égal à) |
La valeur de la première expression est-elle inférieure ou égale à la valeur de la seconde ? | 23 <= 33 ' True 23 <= 23 ' True 23 <= 12 ' False |
>= (Supérieur ou égal à) |
La valeur de la première expression est-elle supérieure ou égale à la valeur de la seconde ? | 23 >= 33 ' False 23 >= 23 ' True 23 >= 12 ' True |
Comparaison de chaînes
Visual Basic compare les chaînes à l’aide de l’opérateur Like et des opérateurs de comparaison numériques. L’opérateur Like
vous permet de spécifier un modèle. La chaîne est ensuite comparée au modèle, et si elle correspond, le résultat est True
. Sinon, le résultat est False
. Les opérateurs numériques vous permettent de comparer String
des valeurs en fonction de leur ordre de tri, comme l’illustre l’exemple suivant.
"73" < "9"
' The result of the preceding comparison is True.
Le résultat de l’exemple précédent est True
dû au fait que le premier caractère dans la première chaîne trie avant le premier caractère de la deuxième chaîne. Si les premiers caractères étaient identiques, la comparaison continuerait avec le caractère suivant dans les deux chaînes, et ainsi de suite. Vous pouvez également tester l’égalité des chaînes à l’aide de l’opérateur d’égalité, comme l’illustre l’exemple suivant.
"734" = "734"
' The result of the preceding comparison is True.
Si une chaîne est un préfixe d’un autre, tel que « aa » et « aaa », la chaîne plus longue est considérée comme supérieure à la chaîne plus courte. L’exemple suivant illustre cela.
"aaa" > "aa"
' The result of the preceding comparison is True.
L’ordre de tri est basé sur une comparaison binaire ou une comparaison textuelle selon le paramètre de Option Compare
. Pour plus d’informations, consultez Instruction Option Compare.
Comparaison d’objets
Visual Basic compare deux variables de référence d’objet à l’opérateur Is et à l’opérateur IsNot. Vous pouvez utiliser l’un de ces opérateurs pour déterminer si deux variables de référence font référence à la même instance d’objet. L’exemple suivant illustre cela.
Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
Dans l’exemple précédent, x Is y
prend la valeur de True
, car les deux variables font référence à la même instance. Contrastez ce résultat avec l’exemple suivant.
Dim x As New customer()
Dim y As New customer()
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
Dans l'exemple précédent, x Is y
prend la valeur False
, car bien que les variables font référence à des objets du même type, elles référent à des instances différentes de ce type.
Lorsque vous souhaitez tester deux objets qui ne pointent pas vers la même instance, l’opérateur IsNot
vous permet d’éviter une combinaison grammaticalement maladroite de Not
et Is
. L’exemple suivant illustre cela.
Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
' Insert code to run if a and b point to different instances.
End If
Dans l’exemple précédent, If a IsNot b
équivaut à If Not a Is b
.
Comparaison du type d’objet
Vous pouvez tester si un objet est d’un type particulier avec l’expression TypeOf
...Is
La syntaxe est la suivante :
TypeOf <objectexpression> Is <typename>
Quand typename
elle spécifie un type d’interface, l’expression TypeOf
...Is
retourne True
si l’objet implémente le type d’interface. Lorsqu’il typename
s’agit d’un type de classe, l’expression retourne True
si l’objet est une instance de la classe spécifiée ou d’une classe qui dérive de la classe spécifiée. L’exemple suivant illustre cela.
Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
' Insert code to run if x is of type System.Windows.Forms.Control.
End If
Dans l’exemple précédent, l'expression TypeOf x Is Control
s'évalue à True
parce que le type de x
est Button
, qui hérite de Control
.
Pour plus d’informations, consultez l’opérateur TypeOf.