Queryable.Where Queryable.Where Queryable.Where Queryable.Where Method

Définition

Filtre une séquence de valeurs selon un prédicat.Filters a sequence of values based on a predicate.

Surcharges

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Filtre une séquence de valeurs selon un prédicat.Filters a sequence of values based on a predicate.

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)

Filtre une séquence de valeurs selon un prédicat.Filters a sequence of values based on a predicate. L'index de chaque élément est utilisé dans la logique de la fonction de prédicat.Each element's index is used in the logic of the predicate function.

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Filtre une séquence de valeurs selon un prédicat.Filters a sequence of values based on a predicate.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Where(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> Where<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member Where : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As IQueryable(Of TSource)

Paramètres de type

TSource

Le type des éléments de source.The type of the elements of source.

Paramètres

source
IQueryable<TSource>

IQueryable<T> à filtrer.An IQueryable<T> to filter.

predicate
Expression<Func<TSource,Boolean>>

Fonction permettant de tester chaque élément par rapport à une condition.A function to test each element for a condition.

Retours

IQueryable<TSource>

IQueryable<T> qui contient les éléments de la séquence d'entrée qui satisfont à la condition spécifiée par predicate.An IQueryable<T> that contains elements from the input sequence that satisfy the condition specified by predicate.

Exceptions

source ou predicate est null.source or predicate is null.

Exemples

L’exemple de code suivant montre comment utiliser Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) pour filtrer une séquence.The following code example demonstrates how to use Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) to filter a sequence.

List<string> fruits =
    new List<string> { "apple", "passionfruit", "banana", "mango", 
                       "orange", "blueberry", "grape", "strawberry" };

// Get all strings whose length is less than 6.
IEnumerable<string> query =
    fruits.AsQueryable().Where(fruit => fruit.Length < 6);

foreach (string fruit in query)
    Console.WriteLine(fruit);

/*
    This code produces the following output:

    apple
    mango
    grape
*/

Dim fruits As New List(Of String)(New String() _
                        {"apple", "passionfruit", "banana", "mango", _
                         "orange", "blueberry", "grape", "strawberry"})

' Get all strings whose length is less than 6.
Dim query = fruits.AsQueryable().Where(Function(fruit) fruit.Length < 6)

' Display the results.
Dim output As New System.Text.StringBuilder
For Each fruit As String In query
    output.AppendLine(fruit)
Next
MsgBox(output.ToString())

' This code produces the following output:

' apple
' mango
' grape

Remarques

Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l' Func<T,TResult> argument de type est l’un des types.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

La Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) méthode génère un MethodCallExpression qui représente l' Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) appel de lui-même comme une méthode générique construite.The Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) method generates a MethodCallExpression that represents calling Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) itself as a constructed generic method. Il MethodCallExpression passe ensuite à la IQueryProvider CreateQuery(Expression) méthode de représenté par la Provider propriété du source paramètre.It then passes the MethodCallExpression to the CreateQuery(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Le comportement de la requête qui se produit suite à l’exécution d’une arborescence d’expressions Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) qui représente l’appel de dépend de l’implémentation source du type du paramètre.The query behavior that occurs as a result of executing an expression tree that represents calling Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depends on the implementation of the type of the source parameter. Le comportement attendu est qu’il retourne les éléments de source qui satisfont à la condition predicatespécifiée par.The expected behavior is that it returns the elements from source that satisfy the condition specified by predicate.

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>)

Filtre une séquence de valeurs selon un prédicat.Filters a sequence of values based on a predicate. L'index de chaque élément est utilisé dans la logique de la fonction de prédicat.Each element's index is used in the logic of the predicate function.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Where(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int, bool> ^> ^ predicate);
public static System.Linq.IQueryable<TSource> Where<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int,bool>> predicate);
static member Where : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int, bool>> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Integer, Boolean))) As IQueryable(Of TSource)

Paramètres de type

TSource

Le type des éléments de source.The type of the elements of source.

Paramètres

source
IQueryable<TSource>

IQueryable<T> à filtrer.An IQueryable<T> to filter.

predicate
Expression<Func<TSource,Int32,Boolean>>

Fonction permettant de tester chaque élément par rapport à une condition ; le deuxième paramètre de la fonction représente l'index de l'élément dans la séquence source.A function to test each element for a condition; the second parameter of the function represents the index of the element in the source sequence.

Retours

IQueryable<TSource>

IQueryable<T> qui contient les éléments de la séquence d'entrée qui satisfont à la condition spécifiée par predicate.An IQueryable<T> that contains elements from the input sequence that satisfy the condition specified by predicate.

Exceptions

source ou predicate est null.source or predicate is null.

Exemples

L’exemple de code suivant montre comment utiliser Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) pour filtrer une séquence en fonction d’un prédicat qui incorpore l’index de chaque élément.The following code example demonstrates how to use Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) to filter a sequence based on a predicate that incorporates the index of each element.

int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };

// Get all the numbers that are less than or equal to
// the product of their index in the array and 10.
IEnumerable<int> query =
    numbers.AsQueryable()
    .Where((number, index) => number <= index * 10);

foreach (int number in query)
    Console.WriteLine(number);

/*
    This code produces the following output:

    0
    20
    15
    40
*/

Dim numbers() As Integer = {0, 30, 20, 15, 90, 85, 40, 75}

' Get all the numbers that are less than or equal to
' the product of their index in the array and 10.
Dim query = numbers.AsQueryable() _
    .Where(Function(number, index) number <= index * 10)

' Display the results.
Dim output As New System.Text.StringBuilder
For Each number As Integer In query
    output.AppendLine(number)
Next
MsgBox(output.ToString())

' This code produces the following output:

' 0
' 20
' 15
' 40

Remarques

Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l' Func<T,TResult> argument de type est l’un des types.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

La Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) méthode génère un MethodCallExpression qui représente l' Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) appel de lui-même comme une méthode générique construite.The Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) method generates a MethodCallExpression that represents calling Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) itself as a constructed generic method. Il MethodCallExpression passe ensuite à la IQueryProvider CreateQuery(Expression) méthode de représenté par la Provider propriété du source paramètre.It then passes the MethodCallExpression to the CreateQuery(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Le comportement de la requête qui se produit suite à l’exécution d’une arborescence d’expressions Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) qui représente l’appel de dépend de l’implémentation source du type du paramètre.The query behavior that occurs as a result of executing an expression tree that represents calling Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32,Boolean>>) depends on the implementation of the type of the source parameter. Le comportement attendu est qu’il retourne les éléments de source qui satisfont à la condition predicatespécifiée par.The expected behavior is that it returns the elements from source that satisfy the condition specified by predicate. L’index de chaque élément source est fourni en tant que deuxième argument predicatede.The index of each source element is provided as the second argument to predicate.

S’applique à