【发布时间】:2017-10-03 22:22:57
【问题描述】:
我有一个这样的数据集:
GroupName GroupValue MemberName MemberValue
'Group1' 1 'Member1' 1
'Group1' 1 'Member2' 2
'Group2' 2 'Member3' 3
'Group2' 2 'Member4' 2
'Group3' 2 'Member5' 4
'Group3' 2 'Member6' 1
我要选择的是每个GroupName 具有最大MemberValue 的行,但仅适用于具有最大GroupValue 的那些GroupNames,并将它们传递给委托函数。像这样:
'Group2' 2 'Member3' 3
'Group3' 2 'Member5' 4
到目前为止,我已经尝试过这种格式...
data.Where(maxGroupValue =>
maxGroupValue.GroupValue == data.Max(groupValue => groupValue.GroupValue))
.Select(FunctionThatTakesData)
...但这只是给了我 Group2 和 Group3 的每个成员。我尝试在Select() 之前放置一个GroupBy(),但这会将输出变成IGrouping<string, DataType>,所以FunctionThatTakesData() 不知道如何处理它,我不能再做一个Where()只过滤掉最大的MemberValues。
我该怎么做才能正确过滤此数据集并将其传递到我的函数中?
【问题讨论】: