2009-02-03 14 views
12

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?

+2

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 ... –

+0

possibile duplicato di [Conservazione dell'ordine con LINQ] (http://stackoverflow.com/questions/204505/preserving-order-with-linq) –

risposta

12

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.

+1

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. –

+0

@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

+0

Ok, grazie, abbastanza ragionevole :) –

Problemi correlati