LINQ .NET 9 | CountBy AggregateBy neue Methoden

LINQ .NET 9 Features: CountBy() & AggregateBy() Methoden. Vereinfachte Aggregation & Gruppierung von Collections. Neue LINQ-Operatoren erklärt.
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 Logo
Devware Team | Solution Engineer

Mehr zum Thema

Pfeil nach rechts (Verlinkung)
Blazor mit TypeScript kombinieren: Typsichere JS Interop, Setup mit .NET 10, npm und tsconfig für stabile, wartbare Webanwendungen.
08/2026

Blazor mit TypeScript: Integration & Best Practices

Blauer Pfeil nach rechts (Verlinkung)
.NET-Ökosystem erklärt: Plattform, SDK, Core, C#, NuGet, Azure und DevOps kompakt und verständlich im Überblick für Entwicklerinnen und Entwickler.
07/2026

.NET: Framework, Plattform, Core? Was steckt eigentlich hinter dem Microsoft-Ökosystem?

Blauer Pfeil nach rechts (Verlinkung)
Aspire vereinfacht das lokale Setup verteilter .NET-Anwendungen: Orchestrierung, Service Discovery und Observability als versionierbarer C#-Code.
07/2026

Aspire: Schnellere Entwicklung, einfacherer Start

Blauer Pfeil nach rechts (Verlinkung)
Erfahren Sie, wie SQL Indizes Datenbankabfragen beschleunigen, Fallstricke vermeiden und die Performance Ihrer Anwendung nachhaltig verbessern.
06/2026

SQL Indizes Datenbankabfragen effizient optimieren

Blauer Pfeil nach rechts (Verlinkung)