我有一个对象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
答案 0 :(得分:4)
List<Activity> activities = //whatever
var latestActivities = activities
.GroupBy(a => a.Frequency)
.Select(grp => grp.OrderByDescending(a => a.Date).First());