Where和Select的(T,int)重载是否有LINQ语法?

时间:2010-09-21 06:27:19

标签: c# linq query-expressions

查询

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 个答案:

答案 0 :(得分:14)

没有没有LINQ语法。

简单的解决办法可能是:

var q = from elem in collection.Select((x,i) => new {x,i})
        where someCondition(elem.x,elem.i)
        select elem.x;