我知道n.HasValue && n.Value > 0
但是真的好奇测试空值,所以:
decimal? n = null;
Console.Write(n>0); // false
Console.Write(n<0); // false
C#中的null
对象是正面还是负面?
答案 0 :(得分:4)
n > 0
编译为n.HasValue && n.Value > 0
,由于n.HasValue
返回false,因此产生错误。对于任何其他条件也是如此,因为HasValue
始终是第一位的。