LINQ - Abfrageoperatoren

Eine Reihe von Erweiterungsmethoden, die ein Abfragemuster bilden, werden als LINQ-Standardabfrageoperatoren bezeichnet. Als Bausteine ​​für LINQ-Abfrageausdrücke bieten diese Operatoren eine Reihe von Abfragefunktionen wie Filtern, Sortieren, Projektieren, Aggregieren usw.

LINQ-Standardabfrageoperatoren können aufgrund ihrer Funktionalität in die folgenden eingeteilt werden.

  • Filteroperatoren
  • Operatoren beitreten
  • Projektionsoperationen
  • Sortieroperatoren
  • Gruppieren von Operatoren
  • Conversions
  • Concatenation
  • Aggregation
  • Quantifiziereroperationen
  • Partitionsoperationen
  • Generierungsvorgänge
  • Operationen einstellen
  • Equality
  • Elementoperatoren

Filteroperatoren

Das Filtern ist eine Operation zum Einschränken der Ergebnismenge, sodass nur Elemente ausgewählt werden, die eine bestimmte Bedingung erfüllen.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
wo Filtern Sie Werte basierend auf einer Prädikatfunktion wo Wo
OfType Filtern Sie Werte basierend auf ihrer Fähigkeit, ein bestimmter Typ zu sein Unzutreffend Unzutreffend

Operatoren beitreten

Joining bezieht sich auf eine Operation, bei der Datenquellen mit schwer zu verfolgenden Beziehungen auf direkte Weise als Ziel ausgewählt werden.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Beitreten Der Bediener verbindet zwei Sequenzen auf der Basis übereinstimmender Schlüssel mitmachen… mit… am… gleich… Von x In…, y In… Wobei xa = ya
GroupJoin Verbinden Sie zwei Sequenzen und gruppieren Sie die passenden Elemente mach mit… mit… am… gleich… mit… Group Join… In… On…

Projektionsoperationen

Projektion ist eine Operation, bei der ein Objekt in eine völlig neue Form mit nur bestimmten Eigenschaften umgewandelt wird.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Wählen Der Operator projiziert Werte auf Basis einer Transformationsfunktion wählen Wählen
SelectMany Der Operator projiziert die Folgen von Werten, die auf einer Transformationsfunktion basieren, und glättet sie zu einer einzigen Folge Verwenden Sie mehrere from-Klauseln Verwenden Sie mehrere From-Klauseln

Sortieroperatoren

Eine Sortieroperation ermöglicht das Ordnen der Elemente einer Sequenz auf der Grundlage eines einzelnen oder mehrerer Attribute.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Sortieren nach Der Operator sortiert die Werte in aufsteigender Reihenfolge Sortieren nach Sortieren nach
OrderByDescending Der Operator sortiert die Werte in absteigender Reihenfolge orderby ... absteigend Bestellen nach ... absteigend
Dann durch Führt eine sekundäre Sortierung in aufsteigender Reihenfolge aus Sortieren nach …, … Sortieren nach …, …
ThenByDescending Führt eine sekundäre Sortierung in absteigender Reihenfolge aus orderby…,… absteigend Bestellen nach…,… absteigend
Umkehren Führt eine Umkehrung der Reihenfolge der Elemente in einer Sammlung durch Unzutreffend Unzutreffend

Gruppieren von Operatoren

Die Operatoren ordnen Daten basierend auf einem gemeinsamen Attribut in einige Gruppen ein.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Gruppiere nach Organisieren Sie eine Folge von Elementen in Gruppen und geben Sie sie als IEnumerable-Sammlung vom Typ IGrouping <Schlüssel, Element> zurück Gruppe… von -oder- Gruppe… von… in… Gruppe… von… in…
Nachschlagen Führen Sie eine Gruppierungsoperation aus, bei der eine Folge von Schlüsselpaaren zurückgegeben wird Unzutreffend Unzutreffend

Konvertierungen

Die Operatoren ändern den Typ der Eingabeobjekte und werden in einer Vielzahl von Anwendungen verwendet.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
AsEnumerable Gibt die als IEnumerable <T> eingegebene Eingabe zurück Unzutreffend Unzutreffend
AsQueryable Eine (generische) IEnumerable wird in eine (generische) IQueryable konvertiert Unzutreffend Unzutreffend
Besetzung Führt das Casting von Elementen einer Sammlung in einen bestimmten Typ durch Verwenden Sie eine explizit eingegebene Bereichsvariable. ZB: von string str in Worten Von… als…
OfType Filtert Werte auf der Grundlage ihrer, abhängig von ihrer Fähigkeit, auf einen bestimmten Typ umgewandelt zu werden Unzutreffend Unzutreffend
ToArray Erzwingt die Ausführung von Abfragen und konvertiert eine Sammlung in ein Array Unzutreffend Unzutreffend
ToDictionary Stellen Sie anhand einer Tastenauswahlfunktion Elemente in ein Dictionary <TKey, TValue> und erzwingen Sie die Ausführung einer LINQ-Abfrage Unzutreffend Unzutreffend
Auflisten Erzwingt die Ausführung einer Abfrage durch Konvertieren einer Sammlung in eine Liste <T> Unzutreffend Unzutreffend
Nachschlagen Erzwingt die Ausführung einer Abfrage und fügt Elemente auf der Grundlage einer Schlüsselauswahlfunktion in einen Lookup <TKey, TElement> ein Unzutreffend Unzutreffend

Verkettung

Führt eine Verkettung von zwei Sequenzen durch und ist dem Union-Operator in Bezug auf seine Funktionsweise ziemlich ähnlich, mit der Ausnahme, dass dadurch keine Duplikate entfernt werden.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Concat Zwei Sequenzen werden zur Bildung einer einzigen Sequenz verkettet. Unzutreffend Unzutreffend

Anhäufung

Führt jede Art von gewünschter Aggregation durch und ermöglicht das Erstellen benutzerdefinierter Aggregationen in LINQ.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Aggregat Arbeitet mit den Werten einer Sammlung, um eine benutzerdefinierte Aggregationsoperation auszuführen Unzutreffend Unzutreffend
Durchschnittlich Der Durchschnittswert einer Sammlung von Werten wird berechnet Unzutreffend Aggregate… In… Into Average ()
Anzahl Zählt die Elemente, die eine Prädikatfunktion innerhalb der Sammlung erfüllen Unzutreffend Aggregate… In… Into Count ()
LonCount Zählt die Elemente, die eine Prädikatfunktion erfüllen, innerhalb einer riesigen Sammlung Unzutreffend Aggregieren… In… In LongCount ()
Max Finden Sie den Maximalwert innerhalb einer Sammlung heraus Unzutreffend Aggregieren… In… In Max ()
Mindest Finden Sie den Mindestwert heraus, der in einer Sammlung vorhanden ist Unzutreffend Aggregieren… In… In Min ()
Summe Ermitteln Sie die Summe der Werte in einer Sammlung Unzutreffend Aggregieren… In… In Summe ()

Quantifiziereroperationen

Diese Operatoren geben einen booleschen Wert zurück, dh True oder False, wenn einige oder alle Elemente innerhalb einer Sequenz eine bestimmte Bedingung erfüllen.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Alle Gibt den Wert 'True' zurück, wenn alle Elemente einer Sequenz eine Prädikatbedingung erfüllen Unzutreffend Aggregieren… In… In Alle (…)
Irgendein Bestimmt durch Durchsuchen einer Sequenz, ob ein Element desselben eine bestimmte Bedingung erfüllt Unzutreffend Aggregate… In… Into Any ()
Enthält Gibt einen 'True'-Wert zurück, wenn festgestellt wird, dass ein bestimmtes Element in einer Sequenz vorhanden ist, wenn die Sequenz dieses bestimmte Element nicht enthält, wird ein' false'-Wert zurückgegeben Unzutreffend Unzutreffend

Partitionsoperatoren

Teilen Sie eine Eingabesequenz in zwei separate Abschnitte, ohne die Elemente der Sequenz neu anzuordnen und dann eines davon zurückzugeben.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Überspringen Überspringt eine bestimmte Anzahl von Elementen innerhalb einer Sequenz und gibt die verbleibenden zurück Unzutreffend Überspringen
Überspringen Entspricht dem von Überspringen, mit der einzigen Ausnahme, dass die Anzahl der zu überspringenden Elemente durch eine Boolesche Bedingung angegeben wird Unzutreffend Überspringen während
Nehmen Nehmen Sie eine bestimmte Anzahl von Elementen aus einer Sequenz und überspringen Sie die verbleibenden Unzutreffend Nehmen
TakeWhile Entspricht der von Take, außer dass die Anzahl der zu nehmenden Elemente durch eine boolesche Bedingung angegeben wird Unzutreffend Nehmen Sie während

Generierungsvorgänge

Eine neue Wertesequenz wird von Generationsoperatoren erstellt.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
DefaultIfEmpty Wenn Sie auf eine leere Sequenz angewendet werden, generieren Sie ein Standardelement innerhalb einer Sequenz Unzutreffend Unzutreffend
Leer Gibt eine leere Folge von Werten zurück und ist der einfachste Generationsoperator Unzutreffend Unzutreffend
Angebot Erzeugt eine Sammlung mit einer Folge von Ganzzahlen oder Zahlen Unzutreffend Unzutreffend
Wiederholen Erzeugt eine Sequenz mit wiederholten Werten einer bestimmten Länge Unzutreffend Unzutreffend

Operationen einstellen

Es gibt vier Operatoren für die festgelegten Operationen, die jeweils ein Ergebnis basierend auf verschiedenen Kriterien liefern.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
Deutlich Erstellt eine Liste eindeutiger Werte aus einer Sammlung, indem gegebenenfalls doppelte Daten gefiltert werden Unzutreffend Deutlich
Außer Vergleicht die Werte von zwei Sammlungen und gibt diejenigen aus einer Sammlung zurück, die sich nicht in der anderen Sammlung befinden Unzutreffend Unzutreffend
Sich schneiden Gibt den Wertesatz zurück, der in zwei separaten Sammlungen als identisch befunden wurde Unzutreffend Unzutreffend
Union Kombiniert den Inhalt von zwei verschiedenen Sammlungen zu einer einzigen Liste, auch ohne doppelten Inhalt Unzutreffend Unzutreffend

Gleichberechtigung

Vergleicht zwei Sätze (aufzählbar) und stellt fest, ob sie genau übereinstimmen oder nicht.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
SequenceEqual Ergibt einen Booleschen Wert, wenn festgestellt wird, dass zwei Sequenzen miteinander identisch sind Unzutreffend Unzutreffend

Elementoperatoren

Mit Ausnahme von DefaultIfEmpty geben alle übrigen acht Standardoperatoren für Abfrageelemente ein einzelnes Element aus einer Auflistung zurück.

Beispiele anzeigen

Operator Beschreibung Syntax des C # -Abfrageausdrucks Syntax für VB-Abfrageausdrücke
ElementAt Gibt ein Element zurück, das in einem bestimmten Index in einer Sammlung vorhanden ist Unzutreffend Unzutreffend
ElementAtOrDefault Entspricht ElementAt, außer dass es auch einen Standardwert zurückgibt, falls der spezifische Index außerhalb des Bereichs liegt Unzutreffend Unzutreffend
Zuerst Ruft das erste Element innerhalb einer Sammlung oder das erste Element ab, das eine bestimmte Bedingung erfüllt Unzutreffend Unzutreffend
FirstOrDefault Entspricht First, mit der Ausnahme, dass auch ein Standardwert zurückgegeben wird, falls solche Elemente nicht vorhanden sind Unzutreffend Unzutreffend
Zuletzt Ruft das letzte in einer Sammlung vorhandene Element oder das letzte Element ab, das eine bestimmte Bedingung erfüllt Unzutreffend Unzutreffend
LastOrDefault Entspricht Last, mit der Ausnahme, dass auch ein Standardwert zurückgegeben wird, falls kein solches Element vorhanden ist Unzutreffend Unzutreffend
Single Gibt das einzelne Element einer Sammlung oder das einzelne Element zurück, das eine bestimmte Bedingung erfüllt Unzutreffend Unzutreffend
SingleOrDefault Entspricht Single, mit der Ausnahme, dass auch ein Standardwert zurückgegeben wird, wenn kein solches einzelnes Element vorhanden ist Unzutreffend Unzutreffend
DefaultIfEmpty Gibt einen Standardwert zurück, wenn die Sammlung oder Liste leer oder null ist Unzutreffend Unzutreffend