首页 > 代码库 > LINQ Except “引用类型” 用法

LINQ Except “引用类型” 用法

值类型的比较Except 直接就比了

正经集合类型的如下

var resultExcept = Expert_ItemSource.Except(Invert_ItemSource, new MyCompare()).ToList();

 

 //比较器
        public class MyCompare : IEqualityComparer<ConsultationExpertApiModel>
        {
            public bool Equals(ConsultationExpertApiModel b1, ConsultationExpertApiModel b2)
            {
                if (b1.MEMBER_ID == b2.MEMBER_ID)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            public int GetHashCode(ConsultationExpertApiModel bx)
            {
                int hCode = bx.MEMBER_ID.GetHashCode() ^ bx.MEMBER_ID.GetHashCode();
                return hCode.GetHashCode();
            }
        }

 

昨晚梦见驯服三只小狮子,三只小狮子各有特色,非常刺激。有一个烫头的,有一个像奶牛的,有一个像狗的。反正都是狮子。

捎带脚把这个也粘上吧

List<int> list1 = new List<int>();
list1.Add(1);
list1.Add(2);
list1.Add(3);
List<int> list2 = new List<int>();
list2.Add(3);
list2.Add(4);
list2.Add(5);
//得到的结果是4,5 即减去了相同的元素。
List<int> list3 = list2.Except(list1).ToList();
foreach (int i in list3)
{
    MessageBox.Show(i.ToString());
}

 

LINQ Except “引用类型” 用法