多弗朗强哥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

添加这段代码即可。

public class CommonEqualityComparer<T, V> : IEqualityComparer<T>
   {
      private Func<T, V> keySelector;

      public CommonEqualityComparer(Func<T, V> keySelector)
      {
         this.keySelector = keySelector;
      }

      public bool Equals(T x, T y)
      {
         return EqualityComparer<V>.Default.Equals(keySelector(x), keySelector(y));
      }

      public int GetHashCode(T obj)
      {
         return EqualityComparer<V>.Default.GetHashCode(keySelector(obj));
      }
   }

   public static class DistinctExtensions
   {
      public static IEnumerable<T> Distinct<T, V>(this IEnumerable<T> source, Func<T, V> keySelector)
      {
         return source.Distinct(new CommonEqualityComparer<T, V>(keySelector));
      }
   }

参考链接:
https://cloud.tencent.com/developer/article/1344620

posted on 2020-05-12 07:15  多弗朗强哥  阅读(124)  评论(0)    收藏  举报