Assumere due liste, A e B in modo che A = (1,2,3) e B = (4,5,6). A.Concat (B) conserverà l'ordine in modo che il risultato sia (1,2,3,4,5,6)?IEnumerable <TSource> Concat <TSource> conserva l'ordine degli elementi?
risposta
Sì. IEnumerable.Concat semplicemente trasformerà due elenchi in un unico elenco collegandone uno alla fine dell'altro. L'ordine all'interno di ciascuna lista sarà conservato.
E 'esplicitamente menzionato da qualche parte nella documentazione? Intendo dire se è un argomento da modificare come un dettaglio di implementazione, o è chiaramente affermato che questo comportamento non cambierà in futuro. –
@Dmitry MS non può modificare questo comportamento senza rompere un numero enorme di applicazioni e ridefinendo il significato di concatenato. IMHO, è sicuro dipendere da questo. – JaredPar
Ok, grazie, abbastanza ragionevole :) –
Sì, questo è praticamente ciò che significa concatenazione.
obbligatorio preventivo MSDN: (Enumerable.Concat)
Return Value
Tipo: System.Collections.Generic.IEnumerable (TSource)
Un IEnumerable(T) che contiene gli elementi concatenati dei due ingressi sequenze .
- 1. IEnumerable <> to IList <>
- 2. IEnumerable <IEnumerable <T>> per IEnumerable <T> utilizzando LINQ
- 3. Flatten IEnumerable <IEnumerable <>>; comprensione generici
- 4. Unione di due elementi IEnumerable <T> s
- 5. Conversione da IEnumerable <IEnumerable <string>> per ICollection <T>
- 6. Perché IEnumerable <T> è definito come IEnumerable <out T>, non IEnumerable <T>
- 7. Automapper: ignora tutti gli elementi di IEnumerable <SelectListItem>
- 8. Seleziona elementi pari/dispari in IEnumerable <T>?
- 9. overloading degli operatori << - C++
- 10. IEnumerable <T> conversione
- 11. Casting IEnumerable <T> a Elenco <T>
- 12. Elenco <int> a IEnumerable <IComparable>
- 13. IEnumerable <T> e IQueryable <T> chiarimenti?
- 14. Come inizializzare IEnumerable <Object> che è vuoto e consentire a Concat di farlo?
- 15. Come concatenare due IEnumerable <T> in un nuovo IEnumerable <T>?
- 16. C# Impossibile convertire da IEnumerable <Base> a IEnumerable <Derived>
- 17. Perché una funzione che accetta IEnumerable <interface> non accetta IEnumerable <class>?
- 18. Verificare se IEnumerable <object> è IEnumerable <int>
- 19. LINQ unisce Elenco <IEnumerable <T>> in un IEnumerable <T> con qualche regola
- 20. Differenza tra IEnumerable e IEnumerable <T>?
- 21. Trasmetti da IEnumerable a IEnumerable <object>
- 22. IEnumerable <T> in C#
- 23. DataTables vs IEnumerable <T>
- 24. IEnumerable <string> a stringa
- 25. inizializzazione IEnumerable <string> In C#
- 26. esportazione IEnumerable <T> in Excel
- 27. Convertire IEnumerable <T> a string []
- 28. EditorFor IEnumerable <T> con TemplateName
- 29. Concatenare più IEnumerable <T>
- 30. IEnumerable <CustomType> in PowerShell
Perché l'H * LL downvote questo? Fare il massimo per controbattere a meno che qualcuno non possa fornire una buona ragione. Se hai bisogno di chiarimenti chiedilo nei commenti ... –
possibile duplicato di [Conservazione dell'ordine con LINQ] (http://stackoverflow.com/questions/204505/preserving-order-with-linq) –