Avatar ·

如何在C#中获取foreach循环当前迭代的索引?

大家好!我刚开始学习C#,遇到了一个问题:我不仅需要遍历集合中的元素,还需要在迭代过程中知道每个元素的序号。例如,我有一个字符串列表: ```csharp List fruits = new List { "苹果", "香蕉", "橙子", "梨" }; ``` 我想输出每个水果及其索引,像这样: ``` 0: 苹果 1: 香蕉 2: 橙子 3: 梨 ``` 显然,`for`循环非常适合这个任务: ```csharp for (int i = 0; i < fruits.Count; i++) { Console.WriteLine($"{i}: {fruits[i]}"); } ``` 但我特别想知道`foreach`的用法。我听说`foreach`更简单且更安全,但它没有内置的计数器变量。我尝试了这样做: ```csharp int index = 0; foreach (var fruit in fruits) { Console.WriteLine($"{index}: {fruit}"); index++; } ``` 这能工作,但看起来有点笨拙。有没有更优雅的方法?比如,某种