У меня есть это выражение:
group i by i.ItemId into g
select new
{
Id = g.Key,
Score = g.Sum(i => i.Score)
}).ToDictionary(o => o.Id, o => o.Score);
и вместо g.Sum
Я хотел бы получить математический продукт, используя Aggregate
.
Чтобы убедиться, что он работает так жекак .Sum
(но как продукт) я попытался создать функцию Aggregate, которая бы просто возвращала сумму ...
Score = g.Aggregate(0.0, (sum, nextItem) => sum + nextItem.Score.Value)
Однако это не дает тот же результат, что и при использовании .Sum
.Любые идеи почему?
nextItem.Score
имеет тип double?
.