Heim > Backend-Entwicklung > C++ > Wie können die GroupBy- und Count-Methoden von LINQ für die Datenaggregation verwendet werden?

Wie können die GroupBy- und Count-Methoden von LINQ für die Datenaggregation verwendet werden?

DDD
Freigeben: 2025-01-22 00:51:11
Original
370 Leute haben es durchsucht

How can LINQ's GroupBy and Count methods be used for data aggregation?

Verwenden Sie die GroupBy- und Count-Methoden von LINQ für die Datenaggregation

Der GroupBy-Operator in LINQ ist ein leistungsstarkes Tool zum Aggregieren von Daten basierend auf angegebenen Schlüsseln. In Kombination mit der Count()-Methode kann sie zum Zählen der Vorkommen gruppierter Werte verwendet werden.

Nehmen Sie das folgende Szenario an: Sie verfügen über einen Datensatz namens „UserInfo“, der Datensätze zu Metriken und anderen Informationen für Benutzer enthält. Um die Anzahl der Metrikvorkommen abzurufen, müssen Sie die Daten nach der Metrik gruppieren und die Anzahl der Datensätze in jeder Gruppierung zählen.

<code class="language-c#">// 示例数据集
List<userinfo> data = new List<userinfo>
{
    new UserInfo { Name = "joe", Metric = 1, Day = "01/01/2011" },
    new UserInfo { Name = "jane", Metric = 0, Day = "01/02/2011" },
    new UserInfo { Name = "john", Metric = 2, Day = "01/03/2011" },
    new UserInfo { Name = "jim", Metric = 3, Day = "01/04/2011" }
};</code>
Nach dem Login kopieren

So erzielen Sie mit GroupBy und Count von LINQ das gewünschte Ergebnis:

<code class="language-c#">var metricCounts = data.GroupBy(info => info.Metric)
                        .Select(group => new { Metric = group.Key, Count = group.Count() })
                        .OrderBy(x => x.Metric);

foreach (var line in metricCounts)
{
    Console.WriteLine($"{line.Metric} {line.Count}");
}</code>
Nach dem Login kopieren

In diesem Code gruppiert der GroupBy()-Operator Daten nach Metrikeigenschaften und erstellt so eine Sammlung von IEnumerable-Objekten. Der Select()-Operator projiziert dann jede Gruppe in einen anonymen Typ mit den Eigenschaften Metric und Count. Schließlich sortiert der OrderBy()-Operator die Ergebnisse in aufsteigender Reihenfolge nach dem Metrikwert.

Die Ausgabe dieses Codes lautet:

<code>0 1
1 1
2 1
3 1</code>
Nach dem Login kopieren

Dies zeigt, wie Sie LINQ verwenden, um aggregierte Daten durch Gruppieren und Zählen von Werten effizient abzurufen. Wenn Sie die Verwendung von GroupBy und Count verstehen, können Sie Daten in Ihrer Anwendung effektiv bearbeiten und zusammenfassen.

Bitte beachten Sie, dass die Anzahl von Metric=0 in den Beispieldaten im Originalartikel und in der geänderten Version unterschiedlich ist, was möglicherweise ein Fehler im Originalartikel ist. Die geänderte Version stimmt besser mit der Ausgabe des Codes überein.

Das obige ist der detaillierte Inhalt vonWie können die GroupBy- und Count-Methoden von LINQ für die Datenaggregation verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage