C# 交集、并集、差集

Intersect 交集

Union 并集

Except 差集

用法:

List1.Intersect(List2,new ClassListEquality())

List1.Union(List2,new ClassListEquality())

List1.Except(List2,new ClassListEquality())

public class ClassListEquality : IEqualityComparer<Class>
{
    public bool Equals(Class a, Class b)
    {
     //判断对象是否相等
     // return (a.Field1==b.Field1 && a.Field2==b.Field2);
return a.Field== b.Field; } public int GetHashCode(Class obj) { if (obj == null) { return 0; } else { return obj.ToString().GetHashCode(); } } }

复杂类型需要重载GetHashCode()与Equals(object obj)方法来判断对象是否相等。

 

值类型可以直接使用

List1.Intersect(List2)

List1.Union(List2)

List1.Except(List2)

取得结果

posted @ 2018-01-05 17:48  太阳底下淋雨  阅读(307)  评论(0编辑  收藏  举报