Учитывая массив положительных и отрицательных чисел, есть выражение Linq, которое может получать промежуточные значения или максимальное значение?
например
var heights = new List<int>();
var numbers = new [] { 5, 15, -5, -15 };
var curHeight = 0;
foreach (var number in numbers)
{
curHeight = curHeight + number;
heights.add(curHeight);
}
Эта функция вернет [5, 20, 15, 0]
Агрегат можно использовать одинаково, и он будет проходить через эту последовательность
numbers.aggregate((a, b) => a + b);
0 + 5 = 5, 5 + 15 = 20, 20 - 5 = 15, 15 - 15 = 0
Мой вопрос в том, есть ли способ использовать агрегат или какой-либо другой, чтобы возвращались промежуточные значения [5, 20, 15, 0]
?
В качестве альтернативы можно ли отслеживать максимальное значение? Мне действительно нужно вернуть значение 20.