使用Linq过滤不同的选项和最新的日期

时间:2010-12-04 14:57:17

标签: linq

我有一个对象Activity。在活动中,用户可以选择Frequency,一个包含~10个不同选项的下拉列表。我已经有了一个方法来返回给定用户的所有活动,但是我想进一步使用Linq将我的List过滤到只有活动的每个频率的最新值。

例如,如果用户有3个活动:

Activity 1, 12/4/2010, weekly
Activity 2, 12/1/2010, daily
Activity 3, 12/2/2010, weekly

我想将我的活动列表限制为仅活动1和2

1 个答案:

答案 0 :(得分:4)

List<Activity> activities = //whatever
var latestActivities = activities
    .GroupBy(a => a.Frequency)
    .Select(grp => grp.OrderByDescending(a => a.Date).First());