Я имею;
var maxVal = l.TakeWhile(x=>x < val).Where(x=>Matches(x)).Max();
В каком количестве пространства это нуждается? linq создает список вышеупомянутого, Где () условие, или Max () просто выполняющий итерации через IEnumerable, отслеживающий того, кто такой текущий Max ()?
И где я могу найти больше информации об этом помимо выяснения на ТАК f