This страница означает, что я могу сделать что-то вроде этого:Что делает «совокупный список» для групп LINQ по предложениям?
From thing In things
Group By thing.ID Into result = Group, Sum(thing.value)
А потом быть в состоянии использовать Sum
значений позже. Возможно, в чем-то вроде этого (на самом деле не работает код):
From thing In things
Group By thing.name Into results = Group, Sum(thing.value)
Where results.Sum >= 10
From result In results
Select result
Это должно выбрать все thing
S, где сумма значений thing
с с тем же именем больше, чем 10.
Через более тестирования, Я не могу получить results
, чтобы быть чем-то другим, кроме первого элемента в так называемом сводном списке. Другими словами, следующие эффективно идентичны, насколько я могу сказать:
Group By thing.name Into results = Group, Sum(thing.value)
Group By thing.name Into results = Group
Что такое совокупный список даже должен делать, и как я могу его использовать?
Сторона примечания: Пример в ссылке, по-видимому, используется Count
вместо Sum
, но на самом деле использует два разных определения Count
и в данном случае бесполезен.
В вашем втором блоке кода, попробуйте 'Где Sum> = 10' , После 'Group By' я думаю, что у вас есть перечисление анонимных типов с свойствами' name', 'results' и' Sum'. 'results' - это список соответствующих' thing'. Вы также можете назвать 'Sum' иначе, например, 'total = Sum (thing.Value)'. – Mark