Без цитаты, которая говорит нам, где именно вы это читаете, мы можем только догадываться о значении.
Я бы истолковал эту фразу как означающую, что несколько методов LINQ действуют как конвейер, то есть каждый фрагмент данных проходит до того, как следующий.
Например:
var numbers = new[] { 1, 2, 3 };
var results = numbers.Select(number => number * 2).Where(number => number > 3);
При энергичной оценке выполнение будет выглядеть так:
1, 2, 3 -> Select -> 2, 4, 6 -> Where -> 4, 6
Однако при отложенной оценке каждый результат вычисляется, когда он необходим. Это превращает выполнение методов «вертикальный» вместо «горизонтальный», выполняя все методы для каждого элемента данных, а затем снова начиная со следующего элемента данных:
1 -> Select -> 2 -> Where -> nothing
2 -> Select -> 4 -> Where -> 4
3 -> Select -> 6 -> Where -> 6
Конечно, это не так для методов, которые работают со всем набором, таких как Distinct
и OrderBy
. Все элементы данных должны «объединяться», пока выполнение не может быть продолжено. Однако по большей части методы LINQ запрашивают элементы из источника только тогда, когда они сами запрашивают другой элемент.