Partager via


Opérateurs de comparaison en Visual Basic

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.

Voir aussi