我有Model
关注列表:
Id Name
----------------------------------------------------
1 john
1 john
1 john
2 jennifer
2 jennifer
3 smith
我想将Model
分组以显示以下结果
Id Name
----------------------------------------------------
1 john
2 jennifer
3 smith
答案 0 :(得分:3)
如果Model
实施IEquatable<Model>
,那么它很简单:
var noDuplicates = list.Distinct();
如果Model
实现该接口没有意义,您可以使用Distinct
{{1}}来{J},它允许您指定侧面的相等条件。 this overload的文档中有一个关于如何实现此类文档的示例。
答案 1 :(得分:0)
ILookup<int, string> lookup =
list
.ToLookup(p => p.Id,
p => p.Name);
foreach (IGrouping<int, string> group in lookup)
{
Console.WriteLine(group.Key);
foreach (string name in group)
Console.WriteLine(" {0}", name);
}
答案 2 :(得分:0)
来自模型中的v 将v。v.id分组为g 选择g