ホームページ >バックエンド開発 >C++ >LINQ は C# のコレクション フィルタリングをどのように改善できるでしょうか?

LINQ は C# のコレクション フィルタリングをどのように改善できるでしょうか?

DDD
DDDオリジナル
2025-01-04 05:56:38749ブラウズ

How Can LINQ Improve Collection Filtering in C#?

C# でのコレクションのフィルタリング

C# でコレクションを操作する場合、多くの場合、特定の基準に基づいて特定の要素をフィルタリングすることが必要になります。新しいリストを作成して元のコレクションをループするのは一般的なアプローチですが、特に大規模なデータセットの場合は非効率的になる可能性があります。

より効果的な解決策は、で紹介されている統合言語クエリ (LINQ) 式を使用することです。 C#3.0。 LINQ には、コレクションをクエリするための宣言構文が用意されており、フィルター条件を簡潔に表現できます。

LINQ を使用してコレクションをフィルターするには、"Where" メソッドを使用できます。以下に例を示します:

List<int> myList = GetListOfIntsFromSomewhere();

// Filter integers greater than 7
List<int> filteredList = myList.Where(x => x > 7).ToList();

「Where」メソッドは IEnumerable を返すため、「ToList()」を呼び出してそれを List に変換する必要があります。

LINQ を使用すると、従来の方法に比べていくつかの利点があります。アプローチ:

  • 簡潔さ: LINQ 式は、明示的なループよりも読みやすく簡潔です。
  • フィルター インプレース: 「Where」このメソッドは一時的なリストを作成せず、代わりに元のコレクションをフィルターします。 place.
  • 拡張性: LINQ 式は、複雑なクエリを実行するために追加のフィルター演算子と射影演算子を使用して拡張できます。

たとえば、次より大きい整数をフィルターで除外します。 7 そしてそれらを正方形の新しいリストに投影するには、次のコマンドを使用できます。式:

List<int> squaredList = myList.Where(x => x > 7).Select(x => x * x).ToList();

全体として、LINQ は C# でコレクションをフィルター処理するための強力かつ効率的な方法を提供し、データ操作のための貴重なツールとなります。

以上がLINQ は C# のコレクション フィルタリングをどのように改善できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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