获取 C# 中 foreach 循环当前迭代的索引

Minahil Noor 2023年1月30日 2020年6月9日
  1. C# 使用 Select() 方法获取 foreach 循环当前迭代的 index
  2. C# 使用索引变量方法获取 foreach 循环当前迭代的 index
获取 C# 中 foreach 循环当前迭代的索引

在 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

相关文章 - Csharp Loop