【问题标题】:Remove duplicate in linq list?删除linq列表中的重复项?
【发布时间】:2013-09-13 11:51:26
【问题描述】:

我有一个实体列表

ID  NAME    Age Comment
1   B   33  C1
2   B   33  c2
3   A   33  c3

但我只是想要

ID  NAME    Age Comment
1   B   33  C1
3   A   33  c3

不希望姓名和年龄组合重复。

【问题讨论】:

  • 使用 linq 方法 .Distinct(IEqualityComparer)
  • @Xaruth 你能举个例子吗?这会很有帮助。谢谢

标签: c# asp.net .net linq


【解决方案1】:
var results = source.GroupBy(x => new { x.Name, x.Age })
                    .Select(g => g.First())
                    .ToList();

或者您可以使用moreLINQ library 中的DistinctBy。

【讨论】:

  • 我同意这绝对有效(并且将是我在真空中的首选方法),但只想指出,根据源的大小,与使用 .Distinct(IEqualityComparer) 选项很烦人。
  • @MarcinJuraszek - 它的作用就像一个魅力:)。你能给我一个使用 Distinct 的例子吗?这对我们理解更有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多