ホームページ >バックエンド開発 >C++ >C# で別のリストに存在する項目をあるリストから削除するにはどうすればよいですか?

C# で別のリストに存在する項目をあるリストから削除するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-13 14:11:42259ブラウズ

How Can I Remove Items from One List That Are Present in Another List in C#?

あるリストに存在する別のリストから要素を効率的に削除する (C#)

多くのプログラミング タスクでは、2 番目のリストにも表示される要素をリストから削除する必要があります。 この記事では、これを実現するための C# での 2 つの効果的な方法を説明します。

LINQ の Except メソッドの活用

LINQ (言語統合クエリ) は、Except メソッドを使用した簡潔なソリューションを提供します。このメソッドは 2 つのリスト間の集合の差を計算し、最初のリストに固有の要素のみを含む新しいリストを返します。 重要なのは、このアプローチにより、元のリストの変更が回避されることです。

Except の使用例を示します。

<code class="language-csharp">List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
List<car> result = list2.Except(list1).ToList();</code>

このコード スニペットは、result に存在しない list2 の要素で構成される新しいリストである list1 を生成します。 ToList()Except ではなく IEnumerable を返すため、List 変換が必要です。

代替: 新しいリストを直接作成する

より効率的なアプローチには、必要な要素のみを含む新しいリストを直接作成することが含まれます。

<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>

これにより、前の例と同じ結果が得られますが、一時変数は必要ありません。

重要な考慮事項:

上記のどちらの方法でも、フィルターされた要素を含む新しいリストが生成されます。 元のリスト (list1list2) はそのまま残ります。

以上がC# で別のリストに存在する項目をあるリストから削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。