首页 新闻 会员 周边

论C# Equals与==的区别,分别都在什么情况下使用?

0
悬赏园豆:20 [已解决问题] 解决于 2015-11-18 14:57

希望各位大神结合自己亲身经历无私的分享下自己总结,

WYan13的主页 WYan13 | 初学一级 | 园豆:42
提问于:2015-09-09 09:47
< >
分享
最佳答案
0

对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false。对于string 以外的引用类型,如果两个对象引用同一个对象,则 == 返回 true。对于 string 类型,== 比较字符串的值。
==操作比较的是两个变量的值是否相等。
equals()方法比较的是两个对象的内容是否一致.==也就是比较引用类型是否是对同一个对象的引用。

收获园豆:15
HandsCool | 初学一级 |园豆:4 | 2015-09-09 10:56
其他回答(5)
0

除了字符串我用equals,其它都用==

收获园豆:1
老牛在路上 | 园豆:11 (初学一级) | 2015-09-09 09:58
0

举个例子,==就相当与全世界就一个你,你==你,Equals就相当于一对双胞胎,2个人的眼睛Equals眼睛,所以基本数据类型,也称原始数据类型,他们之间的比较,应用双等号(==),但是对于对象==是相对与地址的,不是同一个对象new出来的,用==都是false,,数值相同用Equal是会相同,不过你重写了Equals,那就不一定了

收获园豆:2
稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-09 10:04
0

爱怎么用怎么用,没区别。除非你去写重载一般情况下没有区别

收获园豆:1
吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-09 10:10
0

有点区别,C#中还是==把。 用Equals 注意空引用异常

收获园豆:1
不夜橙 | 园豆:253 (菜鸟二级) | 2015-09-09 10:36
0
wolfy | 园豆:2636 (老鸟四级) | 2015-09-09 13:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册