1,equals
2,==
在C#中到底那种方式比较好,那种比较快,我发现在项目中大家用的都不同,我比较倾向于==
因为是值的比较吗?
请大家讨论一下?谢谢!

解决方案 »

  1.   

    如果你想要比较的是地址就用 ==
    如果是比较内容那么请用 Equals
      

  2.   

    equals一般用于引用类型,
    ==一般用于值类型,其实都可以用不过equals要好一点。
      

  3.   

    我也喜欢用equals 。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  4.   

    ==就是完全相等,也就是同一个对象,连内存地址都相同才相等。equals只是对值进行比较。地址不需要完全相同。我用过这样的方法试验过。也看过相关的资料。。
      

  5.   

    public static bool operator ==(string a, string b)
    {
          return string.Equals(a, b);
    }
     
    所以两者是一样的。
      

  6.   

    To, Ivony() 
    您总是这样的一针见血,我喜欢。
    谢谢回答。
    根据您的回答,那么就是用Equals了。少了运算符重载,这样可以节省时间了,对吗?
      

  7.   

    用==比较好,一方面可读性强,另一方面==左边的字符串引用可以为null
      

  8.   

    用==虽然可读性比较强,但是在效率方面没有Equals好,所以建议用Equals
    曾经用工具比较过,确是如此!
      

  9.   

    Ivony() ( ) 说得对!!!
      

  10.   

    C#中好象没什么区别我在《java核心》看到连篇累牍的比较这两种方法的差别 很多人更是以掌握此差别为乐事我一般用 == 好理解qfkx.com