с макс
я есть такой набор данных:
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
То, что я хочу выбрать, это строки, которые имеют максимумMemberValue
вGroupName
, но только для техGroupName
с наибольшимGroupValue
и передать их в функцию делегата. Как это:
'Group2' 2 'Member3' 3
'Group3' 2 'Member5' 4
Пока я пробовал этот формат ...
data.Where(maxGroupValue =>
maxGroupValue.GroupValue == data.Max(groupValue => groupValue.GroupValue))
.Select(FunctionThatTakesData)
... но это только дает мне каждого члена Group2 и Group3. Я пытался положитьGroupBy()
передSelect()
, но это превращает вывод вIGrouping<string, DataType>
такFunctionThatTakesData()
не знаю, что с этим делать, и я не могу сделать другоеWhere()
отфильтровать только максимумMemberValue
s.
Что я могу сделать, чтобы этот набор данных был правильно отфильтрован и передан в мою функцию?