码迷,mamicode.com
首页 > 其他好文 > 详细

List集合去重的一种方法 z

时间:2016-02-12 16:19:07      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据。

在这种情况下,需求要只保留其中一个就好。

我觉得遍历和HashSet都不是我想要的,便采用了一下方式

定义Compare类,继承IEqualityComparer接口

public class ComparerHelper : IEqualityComparer<Model>
    {
        public bool Equals(Model x, Model y)
        {
            return x.Name== y.Name;
        }
        public int GetHashCode(Model obj)
        {
            return obj.Title.GetHashCode();
        }
    }

 

调用如下:

modelList = modelList.Distinct(new ComparerHelper()).ToList();

 

List集合去重的一种方法 z

标签:

原文地址:http://www.cnblogs.com/zeroone/p/5187048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!