Me preguntaba sobre el orden en que un bucle foreach en C # recorre un System.Collections.Generic.List<T>
objeto.
Encontré otra pregunta sobre el mismo tema, pero no siento que responda a mi pregunta a mi satisfacción.
Alguien dice que no se define ningún orden. Pero como dice otra persona, el orden en que atraviesa una matriz es fijo (de 0 a Longitud-1). 8.8.4 La declaración foreach
También se dijo que lo mismo es válido para cualquier clase estándar con un orden (por ejemplo List<T>
). No puedo encontrar ninguna documentación que respalde eso. Entonces, por lo que sé, podría funcionar así ahora, pero tal vez en la próxima versión de .NET sea diferente (aunque podría ser poco probable).
También he mirado la List(t).Enumerator
documentación sin suerte.
Otra pregunta relacionada establece que para Java, se menciona específicamente en la documentación:
List.iterator()
devuelve un iterador sobre los elementos de esta lista en la secuencia adecuada. "
Estoy buscando algo así en la documentación de C #.
Gracias por adelantado.
Editar: Gracias a todos por todas sus respuestas (es increíble lo rápido que obtuve tantas respuestas). Lo que entiendo de todas las respuestas es que List<T>
siempre itera en el orden de su indexación. Pero todavía me gustaría ver una documentación clara que indique esto, similar a la documentación de Java enList
.