Je me demandais à propos de l'ordre d'une boucle foreach en C# boucle par le biais d'un System.Collections.Generic.List<T>
objet.
J'ai trouvé une autre question sur le même sujet, mais je ne pense pas qu'il répond à ma question à ma satisfaction.
Quelqu'un qui affirme qu'aucun ordre est défini. Mais que quelqu'un d'autre membres, l'ordre qu'il parcourt un tableau est fixe (de 0 à Length-1). 8.8.4 L'instruction foreach
Il a également été dit que la situation est la même pour toutes les classes standard avec une commande (par exemple, List<T>
). Je ne peux trouver aucune documentation à l'arrière de ça. Donc, pour tout ce que je sais que ça peut fonctionner comme ça maintenant, mais peut-être dans la prochaine .Version NET, il sera différent (même si c'est peu probable).
J'ai également regardé l' List(t).Enumerator
de la documentation, mais sans succès.
Une autre question concernant les états que pour Java, il est spécifiquement mentionné dans la documentation:
List.iterator()
renvoie un itérateur sur les éléments de cette liste dans une séquence appropriée."
Je suis à la recherche de quelque chose comme ça dans le C# de la documentation.
Merci à l'avance.
Edit: Merci à vous tous pour toutes vos réponses (incroyable à quelle vitesse j'ai eu tellement de réponses). Ce que je comprends de toutes les réponses, c'est que List<T>
n'a toujours itérer dans l'ordre de son indexation. Mais j'aimerais voir un clair de la paix de la documentation disant cela, semblable à la documentation de Java sur List
.