C# List去重DistinctBy扩展

2021-05-16 08:28

阅读:435

标签:hash   递归遍历   name   去重   stat   his   val   new   return   

list 去重扩展:

 public static IEnumerable DistinctBy(this IEnumerable source, Func keySelector)
        {
            HashSet keys = new HashSet();
            foreach (TSource element in source)
                if (keys.Add(keySelector(element)))
                    yield return element;
        }

  比较两个集合

public static bool CompareType(T oneT, T twoT)
        {
            bool result = true;//两个类型作比较时使用,如果有不一样的就false
            Type typeOne = oneT.GetType();
            Type typeTwo = twoT.GetType();
            //如果两个T类型不一样  就不作比较
            if (!typeOne.Equals(typeTwo)) { return false; }
            PropertyInfo[] pisOne = typeOne.GetProperties(); //获取所有公共属性(Public)
            PropertyInfo[] pisTwo = typeTwo.GetProperties();
            //如果长度为0返回false
            if (pisOne.Length 

  

C# List去重DistinctBy扩展

标签:hash   递归遍历   name   去重   stat   his   val   new   return   

原文地址:https://www.cnblogs.com/sunliyuan/p/14547296.html


评论


亲,登录后才可以留言!