Diciamo che ho due elenchi generici dello stesso tipo. Come faccio a combinarli in una lista generica di quel tipo?.NET: combinazione di due elenchi generici
risposta
Questo dovrebbe fare il trucco
List<Type> list1;
List<Type> list2;
List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);
Utilizzando il metodo .AddRange()
Se stai usando C# 3.0/Net 3.5:
List<SomeType> list1;
List<SomeType> list2;
var list = list1.Concat(list2).ToList();
Come chiarimento, questo richiede .NET 3.5, non solo C# 3.0 (i metodi di estensione sono una parte di C# 3.0, ma la classe 'System.Linq.Enumerable' che li definisce fa parte di. NET 3.5) –
@Adam Robinson: Grazie per la precisione. –
Questo può funzionare su .NET 2.0 se si utilizza VS2008 e LinqBridge;) –
Puoi semplicemente aggiungere gli articoli da una lista all'altra:
list1.AddRange(list2);
Se si desidera mantenere le liste e crearne uno nuovo:
List<T> combined = new List<T>(list1);
combined.AddRange(list2);
o utilizzando modalità di LINQ:
List<T> combined = list1.Concat(list2).ToList();
si può ottenere un po 'meglio le prestazioni con la creazione di un elenco con la capacità corretta prima di aggiungere gli articoli:
List<T> combined = new List<T>(list1.Count + list2.Count);
combined.AddRange(list1);
combined.AddRange(list2);
Qual è la differenza tra la parola chiave join e in questo modo dichiarata? –
- 1. Python: combinazione in elenchi di elenchi (?)
- 2. Memoria duplicata su .NET utilizzando due elenchi
- 3. Confronta due elenchi generici e rimuovi i duplicati
- 4. Combinazione di due enumerati
- 5. Combinazione di due SyndicationFeeds
- 6. C# vs Java - Elenchi generici
- 7. Unione di due elenchi insieme
- 8. ereditarietà di interfacce con elenchi generici
- 9. Combinazione di elenchi di classi figlio all'elenco di classi padre
- 10. combinazione di due variabili stringa
- 11. Combinazione di due rapporti Jasper
- 12. Marshalling .NET tipi generici
- 13. Plugin JQuery - Ordina elenchi annidati tra due elenchi
- 14. La combinazione di farmaci generici con diversi vincoli
- 15. Percentuale sovrapposizione di due elenchi
- 16. Combinazione di elenchi di dati di frequenza parola
- 17. Java Confrontare due elenchi
- 18. Unisci due elenchi
- 19. Elenchi di due elenchi di osservazioni osservabili nell'Unione
- 20. Minimizzazione e combinazione di file in .net
- 21. somma di due elenchi con elenchi in R
- 22. Combinazione di due immagini bitmap (affiancate)
- 23. Combinazione di due colonne vincolo univoco
- 24. Combinazione di due immagini con OpenCV
- 25. Combinazione di due file .caf su iPhone
- 26. Combinazione di due oggetti JSON in uno
- 27. Perché la differenza nella dichiarazione degli elenchi generici?
- 28. C# Aggiunta di due valori generici
- 29. Enumerare contemporaneamente due elenchi Python?
- 30. Combinare due elenchi in scala
È il più efficiente, oppure il modo più conveniente? –
pstst .AddRange, Java è laggiù -> – blu
@Ipthnc, non conosco un altro modo per farlo, diverso da un 'foreach()' combinato con 'List.Add()'. Ma è sicuramente il modo più conveniente. –