if(null!= object)是否优于if(object!= null)

时间:2013-06-15 00:56:53

标签: c#

我已经看到两种方式进行空检查:

if(object!=null)

if(null!=object)

一个人真的比另一个好,还是仅仅是偏好?我的偏好是第一个。

3 个答案:

答案 0 :(得分:1)

它对编译器没有任何影响,对于白色!=和==顺序无关紧要。然而,大多数其他人和我会说,做对象更有意义!= null。这被读作“如果对象不为空”,这是有意义的,并且null!=对象被读作“如果null不等于对象”,这没有多大意义。

答案 1 :(得分:0)

我认为它不会产生任何技术差异。

关于可读性,我认为前者(“如果myObject不等于null”)读取比后者更好(“如果null不等于myObject”)。我认为前者更适合主语 - 动词 - 宾语(SVO)类句子结构(其中myObject是句子的主语,null是句子的对象),通常用英语发现。

我假设您的代码的主要读者是母语为英语的人。对于句子结构不同的某些语言,后者可能是更合乎逻辑的结构。

答案 2 :(得分:0)

它是比较,一方面是将对象与null进行比较,另一方面是将null与对象进行比较。在前者中,它表明对象是更重要的因素,而在后者中,null更重要。编译器并不介意,但它是常识和英语/编程惯例。