为什么将null与int比较不抛出错误

时间:2019-05-29 01:52:56

标签: c# oop

我是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与整数进行比较?

0 个答案:

没有答案