Linq 在数组中使用foreach时,如何获取数组单元格位置?
我仍然坚持在XSD生成的类中使用数组,因为我的XML模式对于创建基于泛型的生成类的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
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);
}
谢谢克雷格的快速回复。鲍勃,谢谢克雷格的快速回复。鲍勃,谢谢斯莱克斯的快速回复。第一种方法是普通方法,我想找一种更整洁的方法。鲍勃,谢谢斯莱克斯的快速回复。第一种方法是普通方法,我想找一种更整洁的方法。上下快速移动