zoukankan      html  css  js  c++  java
  • List实现某列去重的解决方案

    ?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&retryload=1

    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));
    }
    }
    /// <summary>
    /// List去重复
    /// </summary>
    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));
    }
    }

    调用示例:

    result = result.Distinct(p => p.groupid).OrderByDescending(m=>m.addtime).ToList();


  • 相关阅读:
    Codeforces 1000C Covered Points Count
    Array类型
    Object对象
    变量、作用域与内存
    window.onload 方法脚本
    页面的性能优化
    node属性
    JavaScript图片
    DOM节点
    canvas象棋 画图
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352502.html
Copyright © 2011-2022 走看看