标签:
var vClass1 = new { Name = "abc", Age = 20 }; var vClass2 = new { Name = "abc", Age = 20 }; var vClass3 = new { Name = "abd", Age = 21 }; Console.WriteLine(vClass1.Equals(vClass2)); //true Console.WriteLine(vClass1.Equals(vClass3)); //false Console.WriteLine(vClass1 == vClass2); //false Console.WriteLine(vClass1 == vClass3); //false
总结:对于字符串来说,两个比较的都是对象的值,并且是等效的;对于非字符串的其他引用类型(非匿名类型)两个比较的都是对象的引用,并且是等效的;对于匿名类型,Equal()方法比较的是类型的状态,如果两个类型的属性和值都相同,就返回true;==比较的是对象的引用。
标签:
原文地址:http://www.cnblogs.com/mc67/p/5094407.html