Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Quantifizierervorgänge geben einen Boolean Wert zurück, der angibt, ob einige oder alle Elemente in einer Sequenz eine Bedingung erfüllen.
Von Bedeutung
In diesen Beispielen wird eine System.Collections.Generic.IEnumerable<T>-Datenquelle verwendet. Datenquellen, die auf System.Linq.IQueryProvider basieren, verwenden System.Linq.IQueryable<T>-Datenquellen und Ausdrucksbaumstrukturen. Ausdrucksbaumstrukturen haben Einschränkungen für die zulässige C#-Syntax. Darüber hinaus kann jede IQueryProvider-Datenquelle, z. B. EF Core, weitere Einschränkungen erzwingen. Konsultieren Sie die Dokumentation für Ihre Datenquelle.
Die folgende Abbildung zeigt zwei verschiedene Quantifizierervorgänge für zwei verschiedene Quellsequenzen. Bei dem ersten Vorgang wird gefragt, ob eines der Elemente das Zeichen "A" ist. Der zweite Vorgang fragt, ob alle Elemente das Zeichen "A" sind. Beide Methoden geben in diesem Beispiel zurück true .
| Methodenname | BESCHREIBUNG | C#-Abfrageausdruckssyntax | Mehr Informationen |
|---|---|---|---|
| Alle | Bestimmt, ob alle Elemente in einer Sequenz eine Bedingung erfüllen. | Nicht zutreffend. | Enumerable.All Queryable.All |
| Beliebig | Bestimmt, ob elemente in einer Sequenz eine Bedingung erfüllen. | Nicht zutreffend. | Enumerable.Any Queryable.Any |
| Enthält | Bestimmt, ob eine Sequenz ein angegebenes Element enthält. | Nicht zutreffend. | Enumerable.Contains Queryable.Contains |
Alle
Im folgenden Beispiel wird das All verwendet, um Studenten zu finden, die bei allen Prüfungen über 70 bewertet wurden.
Hinweis
Im Artikel "Übersicht über Standardabfrageoperatoren " finden Sie informationen zu den allgemeinen Datenquellen für diesen Bereich.
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
Beliebig
Im folgenden Beispiel wird Any verwendet, um Lernende zu ermitteln, die bei einem Examen eine höhere Bewertung als 95 hatten.
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
Enthält
Im folgenden Beispiel wird das Contains verwendet, um Studierende zu finden, die in einer Prüfung genau 95 Punkte erzielt haben.
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