Kann in C # keine Liste an eine andere Datei anhängen ... versucht, AddRange zu verwenden

8

Hi Ich versuche, eine Liste an eine andere anzuhängen. Ich habe es mit AddRange() vorher gemacht, aber es scheint hier nicht zu funktionieren ... Hier ist der Code:

%Vor%

Ich habe das Debuggen durchgeführt, um die Ergebnisse zu überprüfen, hier ist, was ich bekommen habe: resultCollection hat eine Anzahl von 4 resultCollection2 hat eine Anzahl von 6, und nach dem Hinzufügen des Bereichs hat resultCollection immer noch eine Anzahl von 4, wenn es eine Zählung von 10 haben sollte.

Kann jemand sehen, was ich falsch mache? Jede Hilfe wird geschätzt.

Danke, Danke Matt

    
Matt 12.11.2009, 19:09
quelle

5 Antworten

31

Wenn Sie ToList() aufrufen, wickeln Sie die Sammlung nicht in eine List<T> ein, Sie erstellen eine neue List<T> mit denselben Elementen darin. Was Sie hier also effektiv tun, ist das Erstellen einer neuen Liste, das Hinzufügen der Elemente und das anschließende Löschen der Liste.

Sie müssten etwas tun wie:

%Vor%

Wenn Sie C # 3.0 verwenden, verwenden Sie alternativ einfach Concat , z. B.

%Vor%     
Greg Beech 12.11.2009, 19:13
quelle
4

Ich würde annehmen, dass .ToList () eine neue Sammlung erstellt. Daher werden Ihre Objekte zu einer neuen Sammlung hinzugefügt, die sofort weggeworfen wird und das Original bleibt unberührt.

    
Quibblesome 12.11.2009 19:11
quelle
1

resultCollection.ToList() gibt eine neue Liste zurück.

Versuchen:

%Vor%     
Philip Wallace 12.11.2009 19:11
quelle
1

Versuchen Sie

    IList newList = resultCollection.ToList (). AddRange (resultCollection2);

%Vor%     
Justin Niessner 12.11.2009 19:11
quelle
0

Sie können eines der folgenden Elemente verwenden:

%Vor%

Oder:

%Vor%

Oder:

%Vor%     
Sam Harwell 12.11.2009 19:16
quelle