【问题标题】:LINQ groupby questionLINQ groupby 问题
【发布时间】:2011-08-01 10:29:54
【问题描述】:

我有一个名为navigationList 的集合。此列表包含 customer 对象。 一位客户有一个名为Town 的属性。

该列表包含 5 位客户:2 位在“纽约”城镇,5 位在“马德里”城镇。

我希望该列表仅包含 2 个客户。 1 个与城镇“纽约”,一个与“马德里”。如果 2 来自“纽约”,我想要最后一个。 “马德里”也一样。

LINQ 语句是什么样的?

var newList = navigationList.GroupBy(c => c.Town) // ? 

【问题讨论】:

    标签: c# linq group-by


    【解决方案1】:

    你会想要类似的东西

    var newList = navigationList.GroupBy(c => c.Town).Select(g => g.Last()).ToList();
    

    但是,您可能想先OrderBy,这样Last 才有意义:

    var newList = navigationList.
                  GroupBy(c => c.Town).
                  Select(g => g.OrderBy(c => c.Id).Last()).
                  ToList();
    

    在这种情况下,订购由客户 ID 完成。

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多