C# 是否需要检查某项是否有值以及某项是否大于 0?

2023-12-22

在项目中工作时,编码员在检查中经常这样做。首先,他检查是否可为空int有一个值,然后他检查它是否大于 0。为什么?如果一项检查(如果大于 0)就足够了,为什么还要进行两项检查?既然空值不大于0,那不是多余的吗?


该代码可能是多余的。

If i is int? then:

if (i.HasValue && i.Value > 0)

相当于:

if (i > 0)

From MSDN http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx:

当您与可为 null 的类型执行比较时,如果其中一个可为 null 的类型的值为 null,而另一个的值为 null,则除 !=(不等于)外,所有比较的计算结果均为 false。重要的是不要假设因为特定的比较返回 false,相反的情况就会返回 true。在以下示例中,10 不大于、小于也不等于 null。只有 num1 != num2 的计算结果为 true。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 是否需要检查某项是否有值以及某项是否大于 0? 的相关文章

随机推荐