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

Tim*_*mwi 15 c# linq query-expressions

查询

var q = from elem in collection
        where someCondition(elem)
        select elem;
Run Code Online (Sandbox Code Playgroud)

翻译成

var q = collection.Where(elem => someCondition(elem));
Run Code Online (Sandbox Code Playgroud)

是否有LINQ语法可以转换为以下内容?

var q = collection.Where((elem, index) => someCondition(elem, index));
Run Code Online (Sandbox Code Playgroud)

dig*_*All 14

不,没有LINQ语法.

一个简单的解决方法可能是:

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