Summing the previous values in an IEnumerable
问题 I have a sequence of numbers: var seq = new List<int> { 1, 3, 12, 19, 33 }; and I want to transform that into a new sequence where the number is added to the preceding numbers to create a new sequence: { 1, 3, 12, 19, 33 } --> {1, 4, 16, 35, 68 } I came up with the following, but I dislike the state variable 'count'. I also dislike the fact that I'm using the values Enumerable without acting on it. int count = 1; var summed = values.Select(_ => values.Take(count++).Sum()); How else could it