您好我有一个CalendarData
列表,我按照列表的小时对对象进行分组后得到了具有最大EventValue的对象。
问题在于,当我在同一小时范围内有两个CalandarData
且具有相同的Max EventValue时,我得到两个{第一个
我不知道在哪里可以对此语法应用.First()扩展方法。任何好主意谢谢
List<CalendarData> listData =
filteredlistCalendarData.GroupBy(element => element.StartTime.Hour)
.SelectMany(
group => group.Where(element => element.EventValue == group.Max(obj => obj.EventValue))
.Take(1))
.ToList();
答案 0 :(得分:0)
使用OrderByDescending
和FirstOrDefault
:
group => group.OrderByDescending(e => e.EventValue)
.FirstOrDefault()
要使其有效,请用SelectMany
替换Select
来电:
filteredlistCalendarData.GroupBy(element => element.StartTime.Hour)
.Select(
group => group.OrderByDescending(e => e.EventValue)
.FirstOrDefault())
.ToList();