如何在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++;
}
```
这能工作,但看起来有点笨拙。有没有更优雅的方法?比如,某种