你的位置:首页 > 软件开发 > ASP.net > ListT的对比

ListT的对比

发布时间:2016-07-04 16:00:10
对于类型的对比,linq原来的对比是区分不了的。对两个list进行查询交集方法。交集,并集的函数是直接用Linq的,这里不再写。 List<T> intersectList = queryList.AsQueryable().Intersect(sqlList, ...

对于类型的对比,get='_blank'>linq原来的对比是区分不了的。

对两个list进行查询交集方法。交集,并集的函数是直接用Linq的,这里不再写。

 List<T> intersectList = queryList.AsQueryable().Intersect(sqlList, new ListEquality<T>()).ToList();

ListT的对比ListT的对比
 1  public class ListEquality<T> : IEqualityComparer<T> where T : new() 2   { 3  4     PropertyInfo[] propertys = typeof(T).GetProperties().Where(p => p.Name != "ParamInfo").Where(p => p.Name != "State").ToArray(); 5  6  7     public bool Equals(T x, T y) 8     { 9       foreach (var pe in propertys)10       {11         object o_x = pe.GetValue(x, null);12         object o_y = pe.GetValue(y, null);13         if (!object.Equals(o_x, o_y))14         {15           return false;16         }17       }18       return true;19     }20 21     public int GetHashCode(T obj)22     {23       if (obj == null)24       {25         return 0;26       }27       else28       {29         return obj.ToString().GetHashCode();30       }31     }32   }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ListT的对比

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录