Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le filtrage fait référence à l’opération de restriction du jeu de résultats pour contenir uniquement les éléments qui répondent à une condition spécifiée. Elle est également appelée sélection d’éléments qui correspondent à la condition spécifiée.
Important
Ces exemples utilisent une source de données System.Collections.Generic.IEnumerable<T>. Les sources de données basées sur System.Linq.IQueryProvider utilisent des sources de données System.Linq.IQueryable<T> et des arborescences d’expressions. Les arborescences d’expressions présentent des limitations sur la syntaxe C# autorisée. De plus, chaque source de données IQueryProvider
, telle que EF Core peut imposer des restrictions supplémentaires. Consultez la documentation de votre source de données.
L’illustration suivante montre les résultats du filtrage d’une séquence de caractères. Le prédicat de l’opération de filtrage spécifie que le caractère doit être « A ».
Les méthodes d’opérateur de requête standard qui effectuent la sélection sont répertoriées dans le tableau suivant :
Nom de la méthode | Descriptif | Syntaxe d'expression de requête C# | Plus d’informations |
---|---|---|---|
OfType | Sélectionne les valeurs, en fonction de leur capacité à être converties en un type spécifié. | Non applicable. | Enumerable.OfType Queryable.OfType |
Où | Sélectionne les valeurs basées sur une fonction de prédicat. | where |
Enumerable.Where Queryable.Where |
L’exemple suivant utilise la where
clause pour filtrer à partir d’un tableau ces chaînes qui ont une longueur spécifique.
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
*/
La requête équivalente utilisant la syntaxe de méthode est illustrée dans le code suivant :
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
*/