码迷,mamicode.com
首页 > Windows程序 > 详细

c#中==和equals的比较

时间:2016-01-02 14:21:17      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

 

            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;==比较的是对象的引用。

c#中==和equals的比较

标签:

原文地址:http://www.cnblogs.com/mc67/p/5094407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!