湖边的白杨树

探索是一种乐趣

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

值类型直接用 == 号判断就好。

但是对于引用类型,需要实现IComparable 接口,或者重写 Equal 方法,来实现自己的比较目的。

因为对于引用类型,==号比较的是入口地址,对于同一个class 实现的两个objects来说,其入口地址显然不同。

例如:判断List相等

            List<string> list1 = new List<String>()
            {
                "1",
                "2",
                "3",
            };

            List<string> list2 = new List<String>()
            {
                "1",
                "2",
                "3",
            };

            bool compare1 = list1 == list2;      // False

            bool compare2 = list1.Equals(list2);    // False

            bool compare3 = list1.SequenceEqual(list2);   //True

注意: 用==, Equals对对象判断的时候,由于对象的引用地址不同,上述中的compare1, compare2 都返回为 false.  只有 compare3 是 true; 

posted on 2014-07-27 17:37  fdyang  阅读(408)  评论(0)    收藏  举报