需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据。
在这种情况下,需求要只保留其中一个就好。
定义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》频道 >>
C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。