在一个项目上工作,编码员在他的支票上做了很多.首先,他检查可空int是否有值,然后检查它是否大于0.为什么?为什么要进行两次检查,如果一次检查 - 如果大于0 - 应该足够吗?因为空值不大于0所以......这是多余的吗?
不确定这是否是我在这里问的问题,但我不知道如何在谷歌搜索中说出来,所以也许我不知道这个程序员做了什么.
Mar*_*ers 23
代码可能是多余的.
如果我是int?
那么:
if (i.HasValue && i.Value > 0)
Run Code Online (Sandbox Code Playgroud)
相当于:
if (i > 0)
Run Code Online (Sandbox Code Playgroud)
来自MSDN:
当您使用可空类型进行比较时,如果其中一个可空类型的值为null而另一个不是,则除了!=(不等于)之外,所有比较都会计算为false.重要的是不要假设因为特定比较返回false,相反的情况返回true.在以下示例中,10不大于,小于或等于null.只有num1!= num2的计算结果为true.
归档时间: |
|
查看次数: |
38708 次 |
最近记录: |