我想这样做:如何在LINQ查询中使用.Select(T,index)过载?
list.Select((x, i) => new { Item = x, Index = i })
但在LINQ查询语法,是这样的:
from x in list
select(x, i) { Item = x, Index = i }
但是,这并不工作。或者也许有另一种方法来增加LINQ查询中的范围变量?
我想这样做:如何在LINQ查询中使用.Select(T,index)过载?
list.Select((x, i) => new { Item = x, Index = i })
但在LINQ查询语法,是这样的:
from x in list
select(x, i) { Item = x, Index = i }
但是,这并不工作。或者也许有另一种方法来增加LINQ查询中的范围变量?
不,没有使用该重载的C#查询表达式的形式。基本上你有作为扩展方法调用来使用该过载。
这是你想要的吗?
var list = new List<Foo>();
var q = from i in Enumerable.Range(0, list.Count)
select new
{
Item = list[i],
Index = i
};
int index = 0;
var r = list.Select(p => new {Item = p, Index = index++ }).ToList();
“但在LINQ查询语法中,类似于:”这不是OP要查找的内容。 – Amy
什么是我应该是? – Amy
元素的索引 –