LINQ Except “引用类型” 用法

Posted 歌·颂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 “引用类型” 用法的主要内容,如果未能解决你的问题,请参考以下文章

LINQ except() 的意外行为

python-try-except:pass的用法

LINQ to SQL语句之Concat/Union/Intersect/Except

LINQ to SQL语句Concat/Union/Intersect/Except--2017年2月22日

Python新手,Python中except的用法和作用是啥?请指教

一个关于Linq对引用类型元素集合去重问题的思考