У меня есть список элементов, и я хочу взять, пока сумма (или любая совокупность элементов) удовлетворяет определенному условию.Следующий код выполняет свою работу, но я уверен, что это не необычная проблема, для которой должен существовать правильный шаблон.
var list = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
int tmp = 0;
var listWithSum = from x in list
let sum = tmp+=x
select new {x, sum};
int MAX = 10;
var result = from x in listWithSum
where x.sum < MAX
select x.x;
Кто-нибудь знает, как лучше решить задачу, возможно, объединяя TakeWhile и Aggregate в один запрос?
Thx