Avatar ·

Comment obtenir l'index de l'itération actuelle d'une boucle foreach en C# ?

Bonjour à tous ! Je commence tout juste à apprendre C# et j'ai rencontré un problème : je dois non seulement parcourir les éléments d'une collection, mais aussi connaître le numéro d'ordre de chaque élément pendant l'itération. Par exemple, j'ai une liste de chaînes : ```csharp List fruits = new List { "pomme", "banane", "orange", "poire" }; ``` Je veux afficher chaque fruit avec son index, comme ceci : ``` 0: pomme 1: banane 2: orange 3: poire ``` Évidemment, la boucle `for` convient parfaitement à cette tâche : ```csharp for (int i = 0; i < fruits.Count; i++) { Console.WriteLine($"{i}: {fruits[i]}"); } ``` Mais ce qui m'intéresse, c'est spécifiquement `foreach`. J'ai entendu dire que `foreach` est plus simple et plus sûr pour la lecture, mais il n'a pas de variable de compteur intégrée. J'ai essayé de faire ceci : ```csharp int index = 0; foreach (var fruit in fruits) { Console.WriteLine($"{index}: {fruit}"); index++; } ``` Cela fonctionne, mais ça semble bricolé. Existe-t-il une manière plus élégante ? Par exemple, une