我是C#的新手,只是努力了解null与int的比较。以下是有效的代码:
if (null < 18)
{
Console.WriteLine("Less than 18");
}
else
{
Console.WriteLine("Greater than 18");
}
output: "Greater than 18"
我不明白为什么编译器不会抛出错误?因为它使您认为null大于18,尤其是当您将null条件运算符用作:
if (person?.Age > 18)
{
Console.WriteLine("This Person is an adult");
} else
{
Console.WriteLine("This Person is a teen");
}
如果该人的年龄数据丢失(空),则无法确定该人是成年人还是青少年,但是代码会使您认为该人是青少年?
CLR如何将null与整数进行比较?