2009-02-03 12 views
12

Supongamos dos listas, A y B, de modo que A = (1,2,3) y B = (4,5,6). ¿Conservará A.Concat (B) el orden para que el resultado sea (1,2,3,4,5,6)?¿IEnumerable <TSource> Concat <TSource> conserva el orden de los elementos?

+2

¿Por qué el H * LL ha votado más abajo? Votar a contrarreloj a menos que alguien pueda proporcionar una buena razón. Si necesita una clarificación, solicítela en los comentarios ... –

+0

posible duplicado de [Conservando el pedido con LINQ] (http://stackoverflow.com/questions/204505/preserving-order-with-linq) –

Respuesta

12

Sí. IEnumerable.Concat simplemente convertirá dos listas en una sola lista adjuntando una al final de la otra. El orden dentro de cada lista será preservado.

+1

¿Se menciona explícitamente? en algún lugar de la documentación? Me refiero a si es un tema para cambiar como un detalle de implementación, o si está claramente establecido que este comportamiento no cambiará en el futuro. –

+0

@Dmitry MS no puede cambiar este comportamiento sin romper una gran cantidad de aplicaciones y redefinir el significado de concatenar. En mi humilde opinión, es seguro depender de esto. – JaredPar

+0

Ok, gracias, bastante razonable :) –

Cuestiones relacionadas