0

我有Model以下列表:

    Id                  Name
----------------------------------------------------
    1                   john
    1                   john
    1                   john
    2                   jennifer
    2                   jennifer
    3                   smith

我想将其分组Model以显示以下结果

    Id                  Name
----------------------------------------------------
    1                   john
    2                   jennifer
    3                   smith
4

3 回答 3

3

如果Model实现IEquatable<Model>,那么它是微不足道的:

var noDuplicates = list.Distinct();

Model如果实现该接口没有意义,您可以使用此重载Distinct让您在侧面指定相等标准。的文档IEqualityComparer<T>有一个关于如何实现的示例。

于 2012-06-13T09:41:13.290 回答
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);
            }
于 2012-06-13T09:45:24.700 回答
0

从模型组 v 中的 v 通过 v.id 进入 g 选择 g

于 2012-06-13T10:56:07.593 回答