Параметр int
представляет индекс текущего элемента в текущей итерации .Каждый раз, когда вы вызываете один из методов расширения LINQ, вам теоретически не гарантируется, что элементы возвращаются в том же порядке, но вы знаете, что все они возвращаются по одному разу, и поэтому им могут быть назначены индексы.(Ну, вам гарантировано, если вы знаете, что объект запроса List<T>
или такой, но не в целом.)
Пример:
var result1 = myEnumerable.Where((item, index) => index < 4);
var result2 = myEnumerable.Take(4);
// result1 and result2 are equivalent.