if(null == this.somevariable)和if(this.somevariable == null)之间的区别是什么

时间:2014-05-28 15:33:16

标签: c# if-statement

愚蠢的问题我明白了......但这两个陈述之间有什么区别

if( null == this.someVariable)
{
 //do something
}

and 

if( this.someVariable == null )
{
//do something.
}

3 个答案:

答案 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"将始终有效,并且任何类似的项都可以使用,因为源对象有效。