c# - 是否有用于 Where 和 Select 的 (T, int) 重载的 LINQ 语法?

标签 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));

最佳答案

不,没有 LINQ 语法。

一个简单的解决方法是:

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

关于c# - 是否有用于 Where 和 Select 的 (T, int) 重载的 LINQ 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757814/

相关文章:

c# - 将表从 SQL Server 2008 复制到 MS Access 2007

c# - 替换字符串中的多个单词

c# - 存储过程而不是 SqlBulkCopy

c# 对自定义列表进行排序

f# - F# 查询表达式中运算符的顺序

c# - Moq ReturnsAsync() 带参数

c# - 在 LINQ to SQL 中,如何将 LINQ 查询的一部分传递给函数

c# - 在程序执行期间将只读数据库表保存在局部变量中

dynamics-crm - 为 CRM 2011 编写 native SQL

c# - 如何通过 System.Data.SQLite 检索 F# 查询表达式的 SQL 查询字符串?