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?
Respuesta
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.
¿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. –
@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
Ok, gracias, bastante razonable :) –
Sí, eso es más o menos lo que significa concatenación.
obligatorio cotización de MSDN: (Enumerable.Concat)
Valor de retorno
Tipo: System.Collections.Generic.IEnumerable (TSource)
Un IEnumerable(T) que contiene los elementos concatenados de los dos de entrada secuencias .
- 1. Eliminar elementos de IEnumerable <T>
- 2. Obtener los elementos distintos de un IEnumerable <T>
- 3. Obtener un IEnumerable <T> de un IEnumerable <IEnumerable <T>>
- 4. IEnumerable <IEnumerable <T>> IEnumerable a <T> usando LINQ
- 5. Cómo convertir un IEnumerable <IEnumerable <T>> a un IEnumerable <T>
- 6. La agrupación de artículos idénticos consecutivos: IEnumerable <T> a IEnumerable <IEnumerable <T>>
- 7. IEnumerable <> to IList <>
- 8. Aplanar IEnumerable <IEnumerable <>>; la comprensión de los genéricos
- 9. Cómo puedo dividir un IEnumerable <String> en grupos de IEnumerable <string>
- 10. Seleccionar elementos pares/impares en IEnumerable <T>?
- 11. Por qué IEnumerable <T> se define como IEnumerable <out T>, no IEnumerable <T>
- 12. Fusionando dos IEnumerable <T> s
- 13. IEnumerable <T> .Contiene el predicado
- 14. Mejor forma de consumir un IEnumerable <IEnumerable <string>>
- 15. C# No se puede convertir de IEnumerable <Base> a IEnumerable <Derived>
- 16. ¿Cómo funciona IEnumerable <T> .ToArray()?
- 17. IEnumerable <T> VS VS IList <T> IQueryable <T>
- 18. ¿El orden de los elementos en una lista de C# <T> es determinista?
- 19. List.AddRange con el parámetro IEnumerable <T> ¿no funciona?
- 20. IEnumerable <T> y IQueryable <T> aclaración?
- 21. Se garantiza el orden de las dependencias cuando se inyecta IEnumerable <T>
- 22. Fundición de IEnumerable <Object> a IEnumerable <string>
- 23. "Girar" un IEnumerable <IEnumerable <T>> 90 grados
- 24. ¿Por qué IEnumerable <T> hereda de IEnumerable?
- 25. ¿Por qué ICollection <T> implementar tanto IEnumerable <T> y IEnumerable
- 26. ¿Por qué una función que toma IEnumerable <interface> no acepta IEnumerable <class>?
- 27. Fundir/Convertir IEnumerable <T> en IEnumerable <U>?
- 28. Ordenación de un IEnumerable <type> por tres campos
- 29. Orden de elemento en BlockingCollection <>
- 30. Linq to Objects: does GroupBy conserva el orden de los elementos?
¿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 ... –
posible duplicado de [Conservando el pedido con LINQ] (http://stackoverflow.com/questions/204505/preserving-order-with-linq) –