Opérateurs de comparaison (référence C#)

Les opérateurs de comparaison, également appelés relationnels, < (inférieur à), > (supérieur à), <= (inférieur ou égal à), et >= (supérieur ou égal à) comparent leurs opérandes. Ces opérateurs sont pris en charge par tous les types numériques intégraux et à virgule flottante.

Notes

Pour les opérateurs ==, <, >, <= et >=, si un des opérandes n’est pas un nombre (Double.NaN ou Single.NaN), le résultat de l’opération est false. Cela signifie que la valeur NaN n’est ni supérieure à, ni inférieure à, ni égale à n’importe quelle autre valeur double (ou float), y compris NaN. Pour plus d’informations et des exemples, consultez l’article de référence Double.NaN ou Single.NaN.

Le type char prend également en charge les opérateurs de comparaison. Dans le cas des opérandes char, les codes de caractères correspondants sont comparés.

Les types d’énumération prennent également en charge les opérateurs de comparaison. Pour les opérandes du même type enum, les valeurs correspondantes du type intégral sous-jacent sont comparées.

Les opérateurs == et != vérifient si leurs opérandes sont égaux ou non.

Opérateur Inférieur à <

L’opérateur < retourne true si son opérande de partie gauche est inférieur à son opérande de partie droite, false dans le cas contraire :

Console.WriteLine(7.0 < 5.1);   // output: False
Console.WriteLine(5.1 < 5.1);   // output: False
Console.WriteLine(0.0 < 5.1);   // output: True

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Opérateur Supérieur à >

L’opérateur > retourne true si son opérande de partie gauche est supérieur à son opérande de partie droite, false dans le cas contraire :

Console.WriteLine(7.0 > 5.1);   // output: True
Console.WriteLine(5.1 > 5.1);   // output: False
Console.WriteLine(0.0 > 5.1);   // output: False

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Opérateur Inférieur ou égal à <=

L’opérateur <= retourne true si son opérande de partie gauche est inférieur ou égal à son opérande de partie droite, false dans le cas contraire :

Console.WriteLine(7.0 <= 5.1);   // output: False
Console.WriteLine(5.1 <= 5.1);   // output: True
Console.WriteLine(0.0 <= 5.1);   // output: True

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Opérateur Supérieur ou égal à >=

L’opérateur >= retourne true si son opérande de partie gauche est supérieur ou égal à son opérande de partie droite, false dans le cas contraire :

Console.WriteLine(7.0 >= 5.1);   // output: True
Console.WriteLine(5.1 >= 5.1);   // output: True
Console.WriteLine(0.0 >= 5.1);   // output: False

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Capacité de surcharge de l’opérateur

Un type défini par l’utilisateur peut surcharger les opérateurs <, >, <= et >=.

Si un type surcharge un des opérateurs < ou >, il doit surcharger à la fois < et >. Si un type surcharge un des opérateurs <= ou >=, il doit surcharger à la fois <= et >=.

spécification du langage C#

Pour plus d’informations, consultez la section Opérateurs relationnels et de test de type de la spécification du langage C#.

Voir aussi