Quelle: dotnetpro
Suchen mit LINQ, Teil 5 17.08.2020, 00:00 Uhr

Projizieren und aggregieren

Mit Abfrageoperatoren projizieren und aggregieren Sie Daten und greifen gezielt auf Elemente zu.
In den ersten vier Teilen dieser Serie zum Thema LINQ wurden die Grundlagen, die Abfrage- und Methodensyntax sowie wichtige Abfrageoperatoren im praktischen Einsatz vorgestellt [1] [2] [3] [4]. Dabei wurden die Lambda-Ausdrücke sowie die optionalen Funktionen zur verzögerten und erzwungenen Datenabfrage erläutert. Konnten Sie sich bei den bislang vorgestellten Funktionalitäten in der Regel frei für den Einsatz von Abfrage- oder Methodensyntax entscheiden, stehen im Bereich der Aggregation, der Projektion, den gezielten Elementzugriffen sowie den mathematischen Operatoren mitunter nur Methoden bereit. Ferner gibt es einige Anweisungen in der Abfragesyntax, die ausschließlich in Visual Basic .NET, nicht aber in C# bereitstehen. Mitunter verhalten sich Abfrageoperatoren auch nicht so, wie sie offiziell dokumentiert sind, beispielsweise dann, wenn diese Standardwerte zurückliefern sollen, ohne Ausnahmen auszulösen. Alle im Folgenden angeführten Beispiele beziehen sich deshalb auf Visual Basic .NET. Im Web sind dazu häufig nur einfache Beispiele zu finden. Beispiele mit Auflistungen, die über Datenstrukturen und Datenklassen aufgebaut werden, werden häufig nicht berücksichtigt. Komplexere Online-Beispiele führen zudem nicht zu korrekten Ergebnissen oder funktionieren gar nicht.
Die nachfolgend vorgestellten Beispiele zeigen den Einsatz erweiterter Operatoren anhand korrekter Syntax. Neben einfachen Listen werden auch Listen aus komplexeren Objekten verarbeitet. Die Beispiele finden Sie in der Beispielanwendung SimpleLINQ. Haben Sie das Programm geladen und ausgeführt, so öffnen Sie die Beispiele, indem Sie über die Schaltfläche Operatoren und Lambda-Ausdrücke in den Dialog frmOpsAndLambda wechseln. Dort finden Sie im rechten Bereich Buttons, um die Beispiele auszuführen. Die Ergebnisse werden im Listenfeld auf der linken Seite ausgegeben.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar