代码之家  ›  专栏  ›  技术社区  ›  Timwi

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

  •  15
  • Timwi  · 技术社区  · 15 年前

    查询

    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 回复  |  直到 15 年前
        1
  •  16
  •   digEmAll    15 年前

    不,没有LINQ语法。

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

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