Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Where和Select的(T,int)重载是否有LINQ语法?_C#_Linq_Query Expressions - Fatal编程技术网

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

C# Where和Select的(T,int)重载是否有LINQ语法?,c#,linq,query-expressions,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)); 不,

询问

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;

索引是“元素”类的成员还是整数?@vc 74:回答你问题的几种方法。。。① 将光标移动到单词
上,然后按F12。② 看看这个问题的标题。@Timwi,你所说的“LINQ语法”实际上被称为“查询理解语法”@Thomas:谁说的?谷歌搜索结果中最热门的搜索结果在microsoft.com、msdn.com或任何与C#语言设计相关的网站上都找不到任何内容。C语言规范称之为查询表达式。鉴于实际的编译器并不总是遵循规范;),因此没有更权威的说法。无论如何,虽然它可能不是它的“官方”术语,但它绝对不是“LINQ语法”。。。所以我想我们都错了;)