211 votes

Comment l'opérateur de comparaison fonctionne-t-il avec un int nul ?

Je commence à apprendre les types nullables et j'ai rencontré le comportement suivant.

En essayant le nullable int, je vois que l'opérateur de comparaison me donne un résultat inattendu. Par exemple, dans mon code ci-dessous, le résultat que j'obtiens est le suivant "les deux et 1 sont égaux" . Notez qu'il n'imprime pas non plus "null".

int? a = null;
int? b = 1;

if (a < b)
    Console.WriteLine("{0} is bigger than {1}", b, a);
else if (a > b)
    Console.WriteLine("{0} is bigger than {1}", a, b);
else
    Console.WriteLine("both {0} and {1} are equal", a, b);

J'espérais que tout nombre entier non négatif serait supérieur à null, est-ce que j'ai raté quelque chose ici ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X