获取 C# 中 foreach 循环当前迭代的索引
Minahil Noor
2023年10月12日
在 C# 中,我们主要有两个循环,for
循环和 foreach
循环。foreach
循环被认为是最好的,因为它适用于所有类型的操作。即使对于那些我们不需要索引 index
值的对象。
在某些情况下,我们需要使用 foreach
循环,但是我们还必须获取 index
索引值。为了解决这个问题,在 C# 中,我们有不同的方法来获取 foreach
循环当前迭代的 index
,例如,Select()
和索引变量方法。
C# 使用 Select()
方法获取 foreach
循环当前迭代的 index
Select()
方法是 LINQ 方法。LINQ 是 C# 的一部分,用于访问不同的数据库和数据源。Select()
方法选择 foreach 循环迭代的值和索引 index
。
使用此方法的正确语法如下:
Select((Value, Index) => new { Value, Index });
示例代码:
using System;
using System.Linq;
using System.Collections.Generic;
public class IndexOfIteration {
public static void Main() {
// Creating integer List
List<int> Numbers = new List<int>() { 1, 2, 3, 4, 8, 10 };
// Visiting each value of List using foreach loop
foreach (var New in Numbers.Select((value, index) => new { value, index })) {
Console.WriteLine("The Index of Iteration is: {0}", New.index);
}
}
}
输出:
The Index of Iteration is: 0
The Index of Iteration is: 1
The Index of Iteration is: 2
The Index of Iteration is: 3
The Index of Iteration is: 4
The Index of Iteration is: 5
C# 使用索引变量方法获取 foreach
循环当前迭代的 index
这是查找 foreach
循环迭代的索引 index
的传统且最简单的方法。在此方法中,我们使用变量并将其初始化为零,然后在每次迭代中增加该值。
示例代码:
using System;
using System.Collections.Generic;
public class IndexOfIteration {
public static void Main() {
// Creating an integer List
List<int> Numbers = new List<int>() { 1, 2, 3, 4, 8, 10 };
int index = 0;
// Visiting each value of List using foreach loop
foreach (var Number in Numbers) {
Console.WriteLine("The Index of Iteration is {0}", index);
index++;
}
}
}
输出:
The Index of Iteration is: 0
The Index of Iteration is: 1
The Index of Iteration is: 2
The Index of Iteration is: 3
The Index of Iteration is: 4
The Index of Iteration is: 5