2009-02-03 3 views
12

Angenommen zwei Listen, A und B, so dass A = (1,2,3) und B = (4,5,6). Wird A.Concat (B) die Reihenfolge beibehalten, so dass das Ergebnis (1,2,3,4,5,6) ist?Kann IEnumerable <TSource> Concat <TSource> die Reihenfolge der Elemente beibehalten?

+2

Warum hat der H * LL dies abgelehnt? Upvoting zu kontern, es sei denn jemand kann einen guten Grund liefern. Wenn Sie Klärung benötigen, fragen Sie danach in den Kommentaren ... –

+0

möglich Duplikat von [Erhalt der Bestellung mit LINQ] (http://stackoverflow.com/questions/204505/reserving-order-with-linq) –

Antwort

12

Ja. IEnumerable.Concat wird einfach zwei Listen in eine einzige Liste umwandeln, indem Sie eins an das Ende des anderen binden. Die Reihenfolge in jeder Liste wird beibehalten.

+1

Ist es explizit erwähnt Irgendwo in der Dokumentation? Ich meine, ob es sich um ein Thema handelt, das sich als Implementierungsdetail ändern kann, oder ist es eindeutig, dass sich dieses Verhalten in Zukunft nicht ändern wird. –

+0

@Dmitry MS kann dieses Verhalten nicht ändern, ohne eine große Anzahl von Anwendungen zu unterbrechen und die Bedeutung von Verketten neu zu definieren. IMHO, es ist sicher, davon abhängig zu sein. – JaredPar

+0

Ok, danke, ganz vernünftig :) –

Verwandte Themen