Существует ли синтаксис LINQ для (T, int) перегрузок Where и Select?
Запрос
var q = from elem in collection
where someCondition(elem)
select elem;
переводит на
var q = collection.Where(elem => someCondition(elem));
Есть ли синтаксис LINQ, который будет переводить на следующее?
var q = collection.Where((elem, index) => someCondition(elem, index));
1 ответ
Решение
Нет, для этого нет синтаксиса LINQ.
Простой обходной путь может быть:
var q = from elem in collection.Select((x,i) => new {x,i})
where someCondition(elem.x,elem.i)
select elem.x;