2010-12-09 17 views
10

Siempre he pensado lo contrario, pero recientemente tuve la necesidad de saber:¿El orden de los elementos en una lista de C# <T> es determinista?

Si agrego elementos a una lista en un cierto orden, ¿me garantizo encontrarlos siempre en el mismo orden?

Gracias!

+2

¿Cuál sería el punto si no ofrecen esa garantía? Ellos son indexables; una colección indexable que no mantuvo tal garantía sería inútil. – jason

Respuesta

25

Sí; usted controla el pedido de un List<T>.

Puede asumir que cualquier colección de .NET con un indexador list[int] tiene un orden predecible; de lo contrario, el índice numérico no tendría ningún sentido. En comparación, no es posible usar un índice numérico con Dictionary<K,V>, y cuando enumera un diccionario, no se garantiza el orden.

0

Sí. La lista es una colección indexada; el uso de Agregar() para poner elementos en la Lista hará que se indexen en el orden en que se agregan.

4

Sí, es determinista. Tenga en cuenta que si desea usar List<T> en los hilos, entonces, como ocurre con cualquier cosa, no puede garantizar el orden en el que se producirán las interacciones.

+0

+1: Lo pensé mucho, pero me gustó verlo mencionado. –

Cuestiones relacionadas