Существует ли синтаксис LINQ для (T, int) перегрузок Where и Select? - PullRequest
15 голосов
/ 21 сентября 2010

Запрос

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 Ответ

14 голосов
/ 21 сентября 2010

Нет, для этого нет синтаксиса LINQ.

Простой обходной путь может быть:

var q = from elem in collection.Select((x,i) => new {x,i})
        where someCondition(elem.x,elem.i)
        select elem.x;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...