LINQ を使用して List
LINQ は、コレクション内の特定の要素をフィルターして選択できる強力なデータ クエリ テクノロジです。ただし、List
LINQ クエリと削除
次の LINQ クエリについて考えてみましょう:
<code class="language-csharp">var authors = from x in authorsList where x.firstname == "Bob" select x;</code>
このクエリは、author という名前の一連の Author オブジェクトを返します。ただし、これらの作成者を authorsList から削除する場合、削除に作成者を使用しても、元のコレクションは直接更新されません。
クエリ結果を削除するためのソリューション
authorsList からクエリ結果を削除するには、主に 2 つの戦略があります。
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>
これにより、Bob を含まない新しいフィルタリングされた著者リストが効果的に作成されます。
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob");</code>
このメソッドは authorsList を反復処理し、述語に一致する要素をすべて削除します。
複数の要素をフィルタリングする別の方法
別のセット (HashSet など) に基づいて複数の特定の要素を削除する必要がある場合:
<code class="language-csharp">var setToRemove = new HashSet<Author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));</code>
このメソッドは、setToRemove 内のすべての著者を authorsList から効果的に削除します。
以上がLINQ を使用してリストから要素を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。