Maison >développement back-end >C++ >Comment puis-je combiner efficacement plusieurs listes en C# tout en gérant les doublons et en préservant les listes originales ?

Comment puis-je combiner efficacement plusieurs listes en C# tout en gérant les doublons et en préservant les listes originales ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 10:28:18270parcourir

How can I efficiently combine multiple lists in C# while handling duplicates and preserving original lists?

Combiner plusieurs listes sans effort

Dans les tâches de programmation, il est courant de rencontrer le besoin de fusionner plusieurs listes ensemble. Considérez le scénario dans lequel vous disposez de deux listes contenant des chaînes et souhaitez les combiner efficacement tout en conservant la séquence d'origine et en éliminant les doublons.

Solution

Heureusement, le framework .NET offre une solution simple pour cette tâche. Voici l'approche recommandée :

List<string> a = new List<string>();
List<string> b = new List<string>();

a.AddRange(b);

En utilisant la méthode AddRange, nous pouvons facilement ajouter les éléments de la liste b à la fin de la liste a. Cependant, cette méthode ne supprime pas les doublons.

Préservation des listes originales

Si la modification des listes originales n'est pas souhaitable, nous pouvons utiliser la méthode Concat :

var newList = a.Concat(b);

Cette opération crée une nouvelle collection IEnumerable qui combine les éléments des deux listes sans modifier les originaux. Il est important de noter que si la liste a est nulle, la méthode Concat renverra un IEnumerable contenant uniquement les éléments de la liste b.

Exemple d'utilisation

Considérez l'exemple suivant :

List<string> colors1 = new List<string> { "Red", "Blue", "Yellow" };
List<string> colors2 = new List<string> { "Orange", "Pink", "Green" };

Console.WriteLine("Original Lists:");
Console.WriteLine(string.Join(",", colors1));
Console.WriteLine(string.Join(",", colors2));

colors1.AddRange(colors2);
Console.WriteLine("Combined List with Duplicates:");
Console.WriteLine(string.Join(",", colors1));

var colors3 = colors1.Concat(colors2);
Console.WriteLine("Combined List without Duplicates:");
Console.WriteLine(string.Join(",", colors3));

Sortie :

Original Lists:
Red,Blue,Yellow
Orange,Pink,Green
Combined List with Duplicates:
Red,Blue,Yellow,Orange,Pink,Green,Orange,Pink,Green
Combined List without Duplicates:
Red,Blue,Yellow,Orange,Pink,Green

Le code ci-dessus démontre l'utilisation des méthodes AddRange et Concat pour combiner des listes avec et sans doublons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn