在C#中对于值类型的比较不管是用【==】还是【equals】都是对于其内容的比较,也就是说对于其值的比较,相等则返回true 不相等则返回false;
但是对于除string类型以外的引用类型 【==】比较的是在对象在栈上的引用是否相同而【equals】则比较的是对象在堆上的内容是否相同
示例代码:
String str1 = new string('a',1);
String str2 = new String('a',1);
Object stra = str1;
Object strb = str2;
Console.WriteLine(stra == strb);
Console.WriteLine(stra.Equals(strb));