LINQ .NET 9 | CountBy AggregateBy neue Methoden

LINQ .NET 9 | CountBy AggregateBy neue Methoden
03/2024
Devware Team | Solution Engineer

TL;DR

.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.

Effizientere LINQ-Queries in .NET 9: CountBy() und AggregateBy() im Praxistest

‍

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.

‍

CountBy() – Effizientes Gefähle zählen

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:

LINQ CountBy Codebeispiel

‍

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() – Erweiterte Aggregationen

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:

LINQ AggregateBy Codebeispiel

‍

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.

‍

Vergleich mit der bisherigen Vorgehensweise

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.

‍

LINQ .NET 9 neue Methoden Ergebnis

‍

Zusammenfassung

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.

Devware Team | Solution Engineer
Devware Team | Solution Engineer

Entwickler-Schulung

Diese Beiträge entstehen aus der täglichen Arbeit unserer Entwicklerinnen und Entwickler. Devware gibt dieses Wissen auf Anfrage auch als Schulung weiter, zu .NET, Blazor und anderen Sprachen.
Pfeil-Icon – Mehr erfahren

Mehr zum Thema

Pfeil nach rechts (Verlinkung)
Unittests in C#
09/2026

Unittests in C#

Blauer Pfeil nach rechts (Verlinkung)
MCP-Server in C# bauen
09/2026

MCP-Server in C# bauen

Blauer Pfeil nach rechts (Verlinkung)
Mirror-Shape-Pattern für Blazor EditForm
09/2026

Mirror-Shape-Pattern für Blazor EditForm

Blauer Pfeil nach rechts (Verlinkung)
EU AI Act: was er für den Mittel­stand bedeutet
09/2026

EU AI Act: was er für den Mittel­stand bedeutet

Blauer Pfeil nach rechts (Verlinkung)