Disons que j'ai deux listes génériques du même type. Comment les combiner dans une liste générique de ce type?.NET: Combinaison de deux listes génériques
Répondre
Cela devrait faire l'affaire
List<Type> list1;
List<Type> list2;
List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);
En utilisant la méthode .AddRange()
Si vous utilisez C# 3.0/.Net 3.5:
List<SomeType> list1;
List<SomeType> list2;
var list = list1.Concat(list2).ToList();
À titre de clarification, cela nécessite .NET 3.5, pas seulement C# 3.0 (les méthodes d'extension font partie de C# 3.0, mais la classe 'System.Linq.Enumerable' qui les définit fait partie de. NET 3.5) –
@Adam Robinson: Merci pour la précision. –
Cela peut fonctionner sur .NET 2.0 si vous utilisez VS2008 et LinqBridge;) –
Vous pouvez simplement ajouter les éléments d'une liste à l'autre:
list1.AddRange(list2);
Si vous souhaitez conserver les listes et en créer un nouveau:
List<T> combined = new List<T>(list1);
combined.AddRange(list2);
ou en utilisant des méthodes LINQ:
List<T> combined = list1.Concat(list2).ToList();
Vous pouvez obtenir un peu de meilleures performances en créant une liste la capacité correcte avant d'ajouter les éléments:
List<T> combined = new List<T>(list1.Count + list2.Count);
combined.AddRange(list1);
combined.AddRange(list2);
Quelle est la différence entre le mot-clé de jointure et de cette façon vous avez déclaré? –
- 1. Comparaison de deux listes génériques sur une propriété spécifique
- 2. Combinaison de listes
- 3. Combinaison de deux listes d'objets basés sur un attribut
- 4. Listes génériques C#
- 5. Combinaison de plusieurs listes Triés
- 6. Combinaison de caractères génériques délimités dans Java
- 7. Combinaison de 2 listes en python
- 8. Liste des listes génériques
- 9. Comment comparer deux listes génériques en C# 3.0?
- 10. Pouvons-nous établir une relation entre deux listes génériques?
- 11. Combinaison de deux chaînes
- 12. Combinaison de deux bookmarklets
- 13. Combinaison de dictionnaires de listes en Python
- 14. Combinaison de listes dans Lambda/LINQ
- 15. C# vs Java - Listes génériques
- 16. Joindre deux listes ensemble
- 17. Combinaison de deux ressources PHP
- 18. Combinaison de deux Uris relatives
- 19. Combinaison de deux matrices d'enregistrement
- 20. Fusionner deux listes de listes - Python
- 21. C++/CLI: Listes de boxe et génériques
- 22. comparaison de deux listes de chaînes ou listes
- 23. Combinaison de deux listes et suppression des doublons, sans suppression des doublons dans la liste d'origine
- 24. Listes de données .NET
- 25. Combinaison de listes mais obtention de membres uniques
- 26. listes génériques avec Accès notation délégué
- 27. la fusion de deux listes
- 28. Intersection de deux listes chaînées
- 29. Problème de désérialisation des listes génériques avec C# XmlSerializer
- 30. Union deux Listes ObservableCollection
Est-ce le plus efficace, ou le moyen le plus pratique? –
pstst .AddRange, Java est là-bas -> – blu
@Ipthnc, je ne connais pas un autre moyen de le faire, autre que foreach() 'combiné avec' List.Add() '. Mais c'est sûr que c'est le moyen le plus pratique. –