今天想探究一下,Equal函数与==的区别,做了以下的实验
图片上我们定义了两个分别为a,b的字符串,两个分别为AClass,BClass的类,分别用Equals与==,打印出结果:
结果图如下: 我们知道string类型是引用类型,同样class也是引用类型,为什么会有不同的结果呢? 因为string是一种特殊的引用类型。string调用Equals比较的是值,而AClass与BClass因为没有重写Equals方法,比较的不仅是值,还有两个对象的引用是否是同一个对象。
1、基本数据类型比较
==和Equals都比较两个值是否相等。相等为true 否则为false;
2、引用对象比较
==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;