Avatar ·

¿Cómo obtener el índice de la iteración actual de un bucle foreach en C#?

¡Hola a todos! Estoy empezando a aprender C# y me encontré con este problema: necesito no solo recorrer los elementos de una colección, sino también conocer el número de orden de cada elemento durante la iteración. Por ejemplo, tengo una lista de strings: ```csharp List fruits = new List { "manzana", "banana", "naranja", "pera" }; ``` Quiero imprimir cada fruta con su índice, así: ``` 0: manzana 1: banana 2: naranja 3: pera ``` Obviamente, el bucle `for` es perfecto para esta tarea: ```csharp for (int i = 0; i < fruits.Count; i++) { Console.WriteLine($"{i}: {fruits[i]}"); } ``` Pero me interesa específicamente `foreach`. He oído que `foreach` es más simple y seguro para leer, pero no tiene una variable contador incorporada. Intenté hacer esto: ```csharp int index = 0; foreach (var fruit in fruits) { Console.WriteLine($"{index}: {fruit}"); index++; } ``` Esto funciona, pero parece un parche. ¿Quizás hay una forma más elegante? Por ejemplo, algún...