判断条件中
例如if(对象!=null) 和if(null!=对象)
if(txtBox.Text.equals(""))和if("".equals(txtBox.Text))这些到底有什么区别,
那种写法比较好,
为什么要这样写,
能避免什么问题!
望达人们帮忙!

解决方案 »

  1.   

    例如if(对象!=null) 和if(null!=对象) 

    if(null!=对象) 比较是正确的因为用if(对象!=null) 比较的话。你的对象可能是null的
    所以也是就说你的比较可能是这样的
    if(null!=null) 
    所以会出错。
      

  2.   

    if(txtBox.Text.equals(""))和if("".equals(txtBox.Text))
    是一样的道理
    这你可以看看编程开发规范。
      

  3.   

    if(对象!=null) 和if(null!=对象) 
    应该是一样的吧,不过这样比较只能比较它们指向的内存是否相同
    不能比较它们的值是否相等,equals也是一样,都是比较指向的位置
    我一般比较字符串的话用compareTo,
    if(txtName.Text.trim().compareTo("张三")==0)
    {
    ==0代表相同
    }
      

  4.   

    如果是这种情况
    bool b1 = false;
    if(b1==true)  和 if(true==b1)
    相比,第二种比较好,因为用户可能漏掉一个=号,此时第二种编译器无法通过编译,
    而第一种可以通过编译,这样你无法在编译时找到错误了
      

  5.   

    将变量写在前面, 可能是出於怕出bug的原因吧. 有时候 == 总是会不自觉的写成 = ,这个bug在C里面可是很难查的不过C#的IDE比较牛b,会自动提示。
      

  6.   


    那按你所说 对象可能是NULL时, 不也是 if(null != null<对象>)
      

  7.   

    if(对象!=null) 和if(null!=对象) 没有区别吧.本来是C和C++里为了防止把==错写成=用的equals可以防止参数为null
    if("".equals(a))
    等于 if (a != null && a.equals(""))
      

  8.   

    在java里面 null比较会出错。c#里面不会
    但这样就可能出错。
    if(txtBox.Text.equals("")) 
    txtBox.Text==null
    而null是不可能操作的。
    所以
    txtBox.Text.equals会出错。表达式是没有错误的
    就是多了一些考虑而已。
      

  9.   

    这里有人说是if(null!=对象)写法比较好一点 
    而且很多高人写的例子也是用的这种形式
    我就是不知道能避免什么!
      

  10.   

    至于调用Equals方法的时候,就要先判断调用这个方法的对象是否为空了,如果为空,则会报“未将对象引用设置到对象实例”的错误
      

  11.   

    虽然很多书里都写
    if(null!=对象) 
    但我喜欢用
    if(对象!=null)
    这个比较符合自然思维,上面那个太古怪了,完全的程序员思维也不好