Суммируя предыдущие значения в IEnumerable

У меня есть последовательность чисел:

var seq = new List<int> { 1, 3, 12, 19, 33 };

, и я хочу преобразовать это в новую последовательность, где число добавляется к предыдущим числам, чтобы создать новую последовательность:

{ 1, 3, 12, 19, 33 } --> {1, 4, 16, 35, 68 }

Я придумал следующее, но мне не нравится переменная состояния 'count'. Мне также не нравится тот факт, что я использую значения Enumerable, не воздействуя на него.

int count = 1;
var summed = values.Select(_ => values.Take(count++).Sum());

Как еще это можно сделать?

16
задан Kirill Polishchuk 3 July 2011 в 19:14
поделиться