ホームページ > バックエンド開発 > C++ > 重複を処理し、元のリストを保持しながら、C# で複数のリストを効率的に結合するにはどうすればよいですか?

重複を処理し、元のリストを保持しながら、C# で複数のリストを効率的に結合するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-28 10:28:18
オリジナル
312 人が閲覧しました

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

複数のリストを簡単に結合する

プログラミング タスクでは、複数のリストを結合する必要が生じることがよくあります。文字列を含む 2 つのリストがあり、元の順序を維持して重複を排除しながらそれらを効率的に結合したいというシナリオを考えてみましょう。

解決策

幸いなことに、.NET Framework が役立ちます。は、このタスクに対する簡単なソリューションを提供します。推奨されるアプローチは次のとおりです。

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

a.AddRange(b);
ログイン後にコピー

AddRange メソッドを利用すると、リスト b の要素をリスト a の末尾に簡単に追加できます。ただし、この方法では重複は削除されません。

元のリストの保持

元のリストの変更が望ましくない場合は、Concat メソッドを使用できます。

var newList = a.Concat(b);
ログイン後にコピー

この操作により、元のリストを変更せずに両方のリストの要素を結合した新しい IEnumerable コレクションが作成されます。リスト a が null の場合、Concat メソッドはリスト b の要素のみを含む IEnumerable を返すことに注意することが重要です。

使用例

次のことを考慮してください。例:

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));
ログイン後にコピー

出力:

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
ログイン後にコピー

上記のコードは、AddRange メソッドと Concat メソッドを使用して、重複のあるリストと重複のないリストを結合する方法を示しています。

以上が重複を処理し、元のリストを保持しながら、C# で複数のリストを効率的に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート