このシナリオでは、文字列 (または任意の型) の 2 つのリストがあり、元の文字列を維持しながらそれらを迅速に結合したいと考えています。注文。さらに、マージされたリスト内の重複エントリをすべて削除したいと考えています。このトピックを調査したにもかかわらず、あなたは単純な解決策を特定しておらず、複雑なインターフェイスの実装を避けたいと考えています。
効果的なアプローチの 1 つは、AddRange メソッドを使用することです。
List<string> a = new List<string>(); List<string> b = new List<string>(); a.AddRange(b);
このアプローチでは、次の順序が維持されます。両方のリストの要素を追加し、b の内容を a に転送します。ただし、重複は削除されません。
重複の問題に対処する代替オプションは、Union メソッドです。
var newList = a.Except(b).ToList();
この行は、重複を除いて、a と b の要素を結合します。結果は、newList という名前の新しいリストに保存されます。
最後に、元のリストを維持する必要がある場合は、Concat メソッドを利用できます。
var newList = a.Concat(b);
この操作により、IEnumerable オブジェクトが生成されます。 。両方のリストを反復処理し、それらの要素を出現順に順次生成します。出力としてリストが必要な場合は、ToList メソッドを使用して IEnumerable をリストに変換できます。
以上が2 つのリストを効率的に結合し、重複を削除し、順序を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。