去掉重复 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();
                

完成!

 

 

 

 

 

 

转载于:https://www.cnblogs.com/xingvskong11/archive/2013/05/08/List.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值