Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kvantifieraråtgärder returnerar ett Boolean värde som anger om vissa eller alla element i en sekvens uppfyller ett villkor.
Viktigt!
Dessa exempel använder en System.Collections.Generic.IEnumerable<T> datakälla. Datakällor baserade på System.Linq.IQueryProvider använder System.Linq.IQueryable<T> datakällor och uttrycksträd. Uttrycksträd har begränsningar för den tillåtna C#-syntaxen. Dessutom kan varje IQueryProvider datakälla, till exempel EF Core , införa fler begränsningar. Kontrollera dokumentationen för din datakälla.
Följande bild visar två olika kvantifieraråtgärder på två olika källsekvenser. Den första åtgärden frågar om något av elementen är tecknet "A". Den andra åtgärden frågar om alla element är tecknet "A". Båda metoderna returneras true i det här exemplet.
| Metodnamn | Beskrivning | Syntax för C#-frågeuttryck | Mer information |
|---|---|---|---|
| Allt | Avgör om alla element i en sekvens uppfyller ett villkor. | Ej tillämpbart. | Enumerable.All Queryable.All |
| Vilken som helst | Avgör om några element i en sekvens uppfyller ett villkor. | Ej tillämpbart. | Enumerable.Any Queryable.Any |
| Innehåller | Avgör om en sekvens innehåller ett angivet element. | Ej tillämpbart. | Enumerable.Contains Queryable.Contains |
Allt
I följande exempel används All för att hitta elever som fått över 70 poäng på alla prov.
Anmärkning
Du kan läsa vanliga datakällor för det här området i artikeln Översikt över vanliga frågeoperatorer .
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
Vilken som helst
I följande exempel används Any för att hitta elever som fått fler än 95 poäng på ett prov.
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
Innehåller
I följande exempel används Contains för att hitta elever som fick exakt 95 poäng på ett prov.
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