zoukankan      html  css  js  c++  java
  • 去掉重复 List<T>.Distinct()

    1.实现方法

    View Code
            public delegate bool EqualsComparer<T>(T x, T y);
            /// <summary>
            /// 去除List重复项
            /// </summary>
            /// <typeparam name="T"></typeparam>
            public class Compare<T> : IEqualityComparer<T>
            {
                private EqualsComparer<T> _equalsComparer;
    
                public Compare(EqualsComparer<T> equalsComparer)
                {
                    this._equalsComparer = equalsComparer;
                }
    
                public bool Equals(T x, T y)
                {
                    if (null != this._equalsComparer)
                        return this._equalsComparer(x, y);
                    else
                        return false;
                }
    
                public int GetHashCode(T obj)
                {
                    return obj.ToString().GetHashCode();
                }
            }

    2.开始去除重复项

    List<T> task = List<T>.Distinct(new Compare<Task>((x, y) => (null != x && null != y) && (x.PrimaryKeyTypeID == y.PrimaryKeyTypeID))).ToList();
                    

    完成!

  • 相关阅读:
    网络
    DB
    DevOps
    Linux 进程管理:Supervisor
    Tomcat相关知识
    Tomcat配置和数据源配置
    Eclipse智能提示及部分快捷键
    Servlet工作原理
    蜗牛
    Servlet技术
  • 原文地址:https://www.cnblogs.com/xingvskong11/p/List.html
Copyright © 2011-2022 走看看