フィルター処理とは、指定された条件を満たす要素のみを含む結果セットを制限する操作を指します。 これは、指定された条件に一致 する要素の選択 とも呼ばれます。
Von Bedeutung
これらのサンプルでは、System.Collections.Generic.IEnumerable<T> データ ソースを使用します。
System.Linq.IQueryProvider に基づくデータ ソースでは、System.Linq.IQueryable<T> データ ソースと式ツリーが使用されます。 式ツリーには、許可される C# 構文に制限があります。 さらに、IQueryProvider
などの各 データ ソースでは、より多くの制限が課される場合があります。 ご利用のデータ ソースのドキュメントをご覧ください。
次の図は、一連の文字をフィルター処理した結果を示しています。 フィルター処理操作の述語は、文字が 'A' である必要があることを指定します。
選択を実行する標準クエリ演算子メソッドを次の表に示します。
メソッド名 | 説明 | C# のクエリ式の構文 | 詳細情報 |
---|---|---|---|
OfType | 指定した型にキャストできるかどうかに基づいて、値を選択します。 | 適用されません。 | Enumerable.OfType Queryable.OfType |
どこ | 述語関数に基づく値を選択します。 | where |
Enumerable.Where Queryable.Where |
次の例では、 where
句を使用して、特定の長さを持つ文字列を配列からフィルター処理します。
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query = from word in words
where word.Length == 3
select word;
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/
次のコードでは、メソッド構文を使用した同等のクエリを示しています。
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query =
words.Where(word => word.Length == 3);
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET