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.
Mit Filtern wird die Einschränkung des Resultsets auf Elemente bezeichnet, die eine bestimmte Bedingung erfüllen. Es wird auch als Auswahl von Elementen bezeichnet, die der angegebenen Bedingung entsprechen.
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 die Ergebnisse des Filterns einer Abfolge von Zeichen. Das Prädikat für den Filtervorgang gibt an, dass das Zeichen "A" sein muss.
Die Standardabfrageoperatormethoden, die die Auswahl ausführen, sind in der folgenden Tabelle aufgeführt:
| Methodenname | BESCHREIBUNG | C#-Abfrageausdruckssyntax | Mehr Informationen |
|---|---|---|---|
| OfType | Wählt Werte aus, je nachdem, ob sie in einen angegebenen Typ konvertiert werden können. | Nicht zutreffend. | Enumerable.OfType Queryable.OfType |
| Wobei | Wählt Werte aus, die auf einer Prädikatfunktion basieren. | where |
Enumerable.Where Queryable.Where |
Im folgenden Beispiel wird die where Klausel verwendet, um aus einem Array die Zeichenfolgen zu filtern, die eine bestimmte Länge aufweisen.
Hinweis
Im Artikel "Übersicht über Standardabfrageoperatoren " finden Sie informationen zu den allgemeinen Datenquellen für diesen Bereich.
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
*/
Die entsprechende Abfrage mit Methodensyntax ist im folgenden Code dargestellt:
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
*/