首页 > 学院 > 开发设计 > 正文

List集合去重的一种方法

2019-11-14 14:26:35
字体:
来源:转载
供稿:网友

前一段时间们需要对一个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();

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表