愚蠢的问题我明白了......但这两个陈述之间有什么区别
if( null == this.someVariable)
{
//do something
}
and
if( this.someVariable == null )
{
//do something.
}
答案 0 :(得分:5)
从代码的角度来看,它们是相同的。有些人更喜欢第一种风格,因为如果你犯了错误并输入=
而不是==
,你就会收到错误
答案 1 :(得分:4)
绝对完全没有区别。除了对你来说看起来更好。
它是来自C \ C ++世界的遗物,其中:
if(null = someVariable)
{
}
会出错。但是:
if(someVariable = null)
{
}
不会。
答案 2 :(得分:1)
2 if if会导致您的示例获得相同的结果。
更相关的例子是:
string text = null;
if(text.Equals("something"))
{
}
在这里,您将获得NullReferenceException
,因此避免这种情况的另一种方法是反转比较:
string text = null;
if("something".Equals(text))
{
}
这样,您知道常量"something"
将始终有效,并且任何类似的项都可以使用,因为源对象有效。