是否可以在以下LINQ代码中为I分配迭代索引:
var list = Enumerable.Range(0, n).Select(x => new { i = iteration index }).ToList();
答案 0 :(得分:3)
从0到 n ,迭代索引将等同于样本中的范围变量x
。
var list = Enumerable.Range(0, n).Select(x => new { i = x }).ToList();
如果你使用的是另一个范围(特别是一个不以0开头的范围),你可以使用引入索引的Select
重载作为第二个输入。
var list = Enumerable.Range(10, n).Select((x, index) => new { i = index }).ToList();
答案 1 :(得分:2)
我认为你正在寻找: -
var list = Enumerable.Range(0, n).Select((v, i) => new { Value = v, Index = i });
您可以按照自己想要的方式操纵i
!
例如: -
var list = Enumerable.Range(0, 10).Select((v, i) => new { Value = v, Index = i % 2 });
foreach (var x in list)
{
Console.WriteLine("Value: {0} \t Index : {1}", x.Value, x.Index);
}