Heim >Backend-Entwicklung >C++ >Wie kann ich mehrere Listen in C# effizient kombinieren und dabei Duplikate verarbeiten und die Originallisten beibehalten?

Wie kann ich mehrere Listen in C# effizient kombinieren und dabei Duplikate verarbeiten und die Originallisten beibehalten?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 10:28:18270Durchsuche

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

Müheloses Kombinieren mehrerer Listen

Bei Programmieraufgaben kommt es häufig vor, dass mehrere Listen zusammengeführt werden müssen. Stellen Sie sich das Szenario vor, in dem Sie zwei Listen mit Zeichenfolgen haben und diese effizient kombinieren möchten, während Sie die ursprüngliche Reihenfolge beibehalten und Duplikate eliminieren.

Lösung

Glücklicherweise das .NET-Framework bietet für diese Aufgabe eine unkomplizierte Lösung. Hier ist der empfohlene Ansatz:

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

a.AddRange(b);

Durch die Verwendung der AddRange-Methode können wir die Elemente von Liste b mühelos an das Ende von Liste a anhängen. Diese Methode entfernt jedoch keine Duplikate.

Originallisten beibehalten

Wenn eine Änderung der Originallisten unerwünscht ist, können wir die Concat-Methode anwenden:

var newList = a.Concat(b);

Dieser Vorgang erstellt eine neue IEnumerable-Sammlung, die die Elemente beider Listen kombiniert, ohne die Originale zu ändern. Es ist wichtig zu beachten, dass die Concat-Methode ein IEnumerable zurückgibt, das nur die Elemente der Liste b enthält, wenn Liste a null ist.

Beispielverwendung

Betrachten Sie das folgende Beispiel :

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));

Ausgabe:

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

Der obige Code demonstriert das Verwendung der AddRange- und Concat-Methoden zum Kombinieren von Listen mit und ohne Duplikate.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Listen in C# effizient kombinieren und dabei Duplikate verarbeiten und die Originallisten beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn