假设
我们从数据库表中读取了值,存在类中,由于不断地读取、添加,可能造成重复,我们的规则是 Id 重复,则重复,如何利用 Linq 快速去重呢?
看代码
public class C { public int Id { get; set; } public string Name { get; set; } public C(int id, string name) { Id = id; Name = name; } } C c1 = new C(1, "a"); C c2 = new C(2, "b"); C c3 = new C(3, "c"); C c4 = new C(4, "d"); C c5 = new C(1, "a"); List<C> list = new List<C>(); list.Add(c1); list.Add(c1); list.Add(c2); list.Add(c3); list.Add(c4); list.Add(c5); Response.Write(list.Count); // 6 var list2 = list.GroupBy(m => m.Id ).Select(m => m.First()).ToList(); Response.Write(list2.Count); // 4
核心
GroupBy(m => m.Id)
Select(m => m.First())