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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Linq 在数组中使用foreach时,如何获取数组单元格位置?_Linq_C# 3.0_Xsd - Fatal编程技术网

Linq 在数组中使用foreach时,如何获取数组单元格位置?

Linq 在数组中使用foreach时,如何获取数组单元格位置?,linq,c#-3.0,xsd,Linq,C# 3.0,Xsd,我仍然坚持在XSD生成的类中使用数组,因为我的XML模式对于创建基于泛型的生成类的xsd2code来说太复杂了 当在数组中使用foreach时,它们有没有办法告诉数组的单元格编号?在LINQ中有什么方法可以这样做吗?我假设“cell number”是指数组中当前项的索引 如果是,答案是肯定的 对于For循环,您可以声明一个整数变量,并在每次迭代中递增它以跟踪索引 例如: int index = 0; foreach(var thing in things) { //... in

我仍然坚持在XSD生成的类中使用数组,因为我的XML模式对于创建基于泛型的生成类的
xsd2code
来说太复杂了

当在数组中使用
foreach
时,它们有没有办法告诉数组的单元格编号?在LINQ中有什么方法可以这样做吗?

我假设“cell number”是指数组中当前项的索引

如果是,答案是肯定的

对于
For
循环,您可以声明一个整数变量,并在每次迭代中递增它以跟踪索引

例如:

int index = 0;
foreach(var thing in things) {
    //...

    index++;
}

在LINQ中,您可以调用
Select
Where
的重载,它们采用2参数lambda,如下所示:

array.Select((elem, index) => whatever);
我假设“cell number”是指数组中当前项的索引

如果是,答案是肯定的

对于
For
循环,您可以声明一个整数变量,并在每次迭代中递增它以跟踪索引

例如:

int index = 0;
foreach(var thing in things) {
    //...

    index++;
}

在LINQ中,您可以调用
Select
Where
的重载,它们采用2参数lambda,如下所示:

array.Select((elem, index) => whatever);

您当然可以在LINQ中执行此操作:

foreach (var item in Items.Select((elem, index) => new { Item = elem, Index = index }))
{
    DoStuff(item.Item, item.Index);
}

您当然可以在LINQ中执行此操作:

foreach (var item in Items.Select((elem, index) => new { Item = elem, Index = index }))
{
    DoStuff(item.Item, item.Index);
}

谢谢克雷格的快速回复。鲍勃,谢谢克雷格的快速回复。鲍勃,谢谢斯莱克斯的快速回复。第一种方法是普通方法,我想找一种更整洁的方法。鲍勃,谢谢斯莱克斯的快速回复。第一种方法是普通方法,我想找一种更整洁的方法。上下快速移动