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语法”。。。所以我想我们都错了;)