我开始学习可为空的类型,并遇到以下行为。
在尝试可为空的int时,我看到比较运算符给了我意外的结果。例如,在下面的代码中,我得到的输出是“ 1和1相等”。注意,它也不会打印“ 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);
我希望任何非负整数都将大于null,我在这里遗漏了什么吗?
5
这是一个小型的.NET Fiddle,可查看几种情况。
—
Uwe Keim