【发布时间】:2017-05-31 19:07:28
【问题描述】:
当检查一个对象是否等于某个值时,是否有一些区别:
myObject == someValue
或
someValue == myObject
换句话说,比较运算符的操作数的顺序是否重要?是编码风格的问题吗?
我一直在使用前者,但一个项目一直在使用我从未见过的后者。
例如
if (data != null)
data.Write(writer);
或
if (null != data)
data.Write(writer);
我一直在使用前者,而项目中的一些成员一直在使用后者。
谢谢。
【问题讨论】:
-
唯一的区别在于可读性。当硬编码值位于比较运算符的右侧时,大多数人会发现它更具可读性。
-
重要,不重要,顺序。
(null != data)俗称“尤达条件”。五年前,我异想天开地在一个嘶嘶声中使用了一个来面试我现在的工作,他们仍然给我废话。我通常只会在另一个操作数是长方法调用或类似的情况下这样做,并且将常量放在首位有助于提高可读性,但在这种情况下,也许你应该将其分配给本地。
标签: c# coding-style