
.NET 9 erweitert LINQ um die Methoden CountBy und AggregateBy. Der Artikel zeigt anhand praxisnaher Beispiele, wie sich Gruppierungen und Aggregationen künftig einfacher umsetzen lassen.
Mit .NET 9 hat Microsoft eine Reihe von neuen LINQ-Methoden eingeführt, die das Arbeiten mit Datensammlungen erheblich vereinfachen. Zwei der bemerkenswertesten Neuerungen sind CountBy() und AggregateBy(). In diesem Blog-Beitrag schauen wir uns diese Methoden näher an, erklären, wie sie funktionieren und zeigen, wie sie in der Praxis eingesetzt werden können.
Die Methode CountBy() ermöglicht das effiziente Zählen von Elementen auf Basis eines Schlüssels. Im Gegensatz zur bisherigen Kombination aus GroupBy() und Count(), die die gesamte Sammlung in Gruppen aufteilt und dann zählt, ist CountBy() optimiert, um direkt einen Schlüssel zu zählen, ohne die Daten zu gruppieren.
Beispiel:

In diesem Beispiel wird CountBy() verwendet, um die Häufigkeit jedes Zeichens in einem String zu zählen. Das Ergebnis ist eine Sammlung von Schlüssel-Wert-Paaren, wobei der Schlüssel das Zeichen und der Wert die Anzahl ist.
AggregateBy() hingegen ist eine vielseitigere Methode, die benutzerdefinierte Aggregationen auf Basis eines Schlüssels durchführen kann. Sie ermöglicht komplexere Operationen, wie das Summieren, Durchschnittswertberechnung oder jede andere Art der Zusammenfassung.
Beispiel:

Hier berechnet AggregateBy() die Gesamtpunktzahl jedes Teilnehmers in einer Spielesammlung. Die Methode fängt mit einem Startwert an und aggregiert dann die Punkte für jeden Schlüssel. Schlüssel und Schlüsselwerte entsprechen den LINQ-Tupeln, die als Ergebnis zurückgegeben werden.
Vor .NET 9 wäre eine ähnliche Operation mit GroupBy() und anschließendem Count() oder Sum() möglich gewesen, was aber oft zu komplizierterem Code führte. Mit CountBy() und AggregateBy() wird dieser Code sowohl kürzer als auch lesbarer.

CountBy() und AggregateBy() sind wertvolle Ergänzungen zur LINQ-Bibliothek in .NET 9. Sie machen den Code kürzer, lesbarer und effizienter, indem sie häufige Muster der Datenaggregation vereinfachen. Für Entwickler, die regelmäßig mit großen Datenmengen arbeiten, sind dies wichtige Werkzeuge, um Performanz und Codequalität zu verbessern.

Unser Geschäftsführer Tibor Csizmadia und unser Kundenbetreuer Jens Walter stehen Ihnen persönlich zur Verfügung. Profitieren Sie von unserer langjährigen Erfahrung und erhalten Sie eine kompetente Erstberatung in einem unverbindlichen Austausch.