第七篇 .NET高级技术之关于相等 Equals

查看判断两个对象是否是同一个对象要用:object.ReferenceEquals();

因为==”默认值是比较两个对象是不是同一个对象。所以有时候两个对象的内容相等,但是比较后还是false

ObjectEquals方法也比较两个变量指向的是否同一个对象;对象如果override Equals方法,就可以进行内容的相同比较。

默认情况下==不是调用Equals方法,需要重载==运算符;

String等这些类是重写了Equals方法。

面试题:下面的代码有几个字符串对象

String s1 = “abc”;

string s2 = s1;

string s3 = new String(new char[] {‘a’,’b’,’c’ });

Console.WriteLine(s1==s3);//输出true(虽然这里s1s3不是同一个对象,但由于string重写了Equals方法,只要内容相等也返回true

答案:两个字符串对象


更多技术请关注

第七篇 .NET高级技术之关于相等 Equals

第七篇 .NET高级技术之关于相等 Equals》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/1025.html