Wie funktioniert der Vergleich-operator arbeitet mit null-int?
Bin ich angefangen zu lernen nullable-Typen und lief in folgenden Verhalten.
Beim Versuch nullable int, sehe ich Vergleichsoperator gibt mir unerwartetes Ergebnis. Zum Beispiel In meinem code Die Ausgabe die ich bekomme, ist "beide und 1 gleich sind". Beachten Sie, es nicht den Druck "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);
Ich hoffte, dass jede nicht-negative ganze Zahl, größer wäre als null ist, Bin ich hier etwas fehlt?
InformationsquelleAutor der Frage Ron5504 | 2013-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut MSDN - es ist unten auf der Seite in der "Betreiber":
Also beide
a > b
unda < b
bewerten zufalse
seita
null ist...InformationsquelleAutor der Antwort nkvu
Als MSDN sagt
InformationsquelleAutor der Antwort PaRiMaL RaJ
Zusammenfassen: jede Ungleichheit Vergleich mit null (
>=
<
<=
>
) gibtfalse
auch wenn beide Operanden null sind. alsoKeine Gleichheit oder nicht-Gleichheit-Vergleich mit null (
==
!=
) funktioniert 'wie erwartet'. alsoInformationsquelleAutor der Antwort GDS