Opérations de quantificateur dans LINQ (C#)
Les opérations de quantificateur retournent une valeur Boolean qui indique si certains ou tous les éléments d’une séquence remplissent une condition.
L’illustration suivante représente deux opérations de quantificateur différentes sur deux séquences sources différentes. La première opération demande s’il y a des éléments qui sont le caractère « A ». La seconde opération demande si tous les éléments sont le caractère « A ». Les deux méthodes retournent true
dans cet exemple.
Nom de la méthode | Description | Syntaxe d'expression de requête C# | Informations complémentaires |
---|---|---|---|
Tous | Détermine si tous les éléments d’une séquence remplissent une condition. | Non applicable. | Enumerable.All Queryable.All |
Quelconque | Détermine si certains éléments d’une séquence remplissent une condition. | Non applicable. | Enumerable.Any Queryable.Any |
Contient | Détermine si une séquence contient un élément spécifié. | Non applicable. | Enumerable.Contains Queryable.Contains |
Tous
L’exemple suivant utilise le All
pour rechercher les étudiants qui ont obtenu un score supérieur à 70 sur tous les examens.
IEnumerable<string> names = from student in students
where student.Scores.All(score => score > 70)
select $"{student.FirstName} {student.LastName}: {string.Join(", ", student.Scores.Select(s => s.ToString()))}";
foreach (string name in names)
{
Console.WriteLine($"{name}");
}
// This code produces the following output:
//
// Cesar Garcia: 71, 86, 77, 97
// Nancy Engström: 75, 73, 78, 83
// Ifunanya Ugomma: 84, 82, 96, 80
Tout
L’exemple suivant utilise le Any
pour rechercher les étudiants ayant obtenu un score supérieur à 95 sur n’importe quel examen.
IEnumerable<string> names = from student in students
where student.Scores.Any(score => score > 95)
select $"{student.FirstName} {student.LastName}: {student.Scores.Max()}";
foreach (string name in names)
{
Console.WriteLine($"{name}");
}
// This code produces the following output:
//
// Svetlana Omelchenko: 97
// Cesar Garcia: 97
// Debra Garcia: 96
// Ifeanacho Jamuike: 98
// Ifunanya Ugomma: 96
// Michelle Caruana: 97
// Nwanneka Ifeoma: 98
// Martina Mattsson: 96
// Anastasiya Sazonova: 96
// Jesper Jakobsson: 98
// Max Lindgren: 96
contient
L’exemple suivant utilise le Contains
pour rechercher les étudiants qui ont obtenu un score exact de 95 à un examen.
IEnumerable<string> names = from student in students
where student.Scores.Contains(95)
select $"{student.FirstName} {student.LastName}: {string.Join(", ", student.Scores.Select(s => s.ToString()))}";
foreach (string name in names)
{
Console.WriteLine($"{name}");
}
// This code produces the following output:
//
// Claire O'Donnell: 56, 78, 95, 95
// Donald Urquhart: 92, 90, 95, 57
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour