黑马程序员技术交流社区
标题:
C#中Equals与 == 的有什么区别?比如有没性能差异
[打印本页]
作者:
DotNet菜鸟
时间:
2011-11-5 16:49
标题:
C#中Equals与 == 的有什么区别?比如有没性能差异
C#中Equals与 == 的有什么区别?比如有没性能差异
作者:
夏雪锐
时间:
2011-11-5 19:27
一个是比较内容,一个是比较引用,至于性能没可比性,功能都不一样。
作者:
小石
时间:
2011-11-5 20:54
"=="比较的是变量值的内容是否相等,equals则是判断是否是对同一个对象的引用
作者:
王金凤
时间:
2011-11-5 21:29
==操作比较的是两个变量的值是否相等。
equals()方法比较的是两个对象的内容是否一致.equals也就是比较引用类型是否是对同一个对象的引用。
作者:
yy312232557
时间:
2011-11-7 23:23
"=="比较的是变量值的内容是否相等,
equals则是判断是否是对同一个对象的引用
正常情况下,如果我们纯粹的只是为了去比较两个string 是否相等,我们可以用 “==”,但是如果这样比较的话,是区分大小写的
比如: string a = “ITcast”; string b = ”itcast“ ;
那么 你比较的时候 可以 if(a == b){...},这个肯定为false
如果 if(a.Trim().Tolower() == b.Trim().Tolower()){...},这个时候就为true了
实际开发中,比如做登录功能的时候,建议用equals方法,这个更加方便,而且equals的重载方法中有好几个,什么忽略大小写的参数,具体你可以试一下,很简单的
作者:
周大俊
时间:
2011-11-9 13:40
如果是基本类型比较,那么只能用==来比较,不能用equals .
对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。
作者:
毕山山
时间:
2011-11-16 17:28
"==" : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
"equals" : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
而字符串是一个特殊的引用型类型,在C#语言中,重载了string 对象的很多方法方法(包括equals()方法),使string对象用起来就像是值类型一样。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2