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>
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>
In diesem Code gruppiert der GroupBy()-Operator Daten nach Metrikeigenschaften und erstellt so eine Sammlung von IEnumerable
Die Ausgabe dieses Codes lautet:
<code>0 1 1 1 2 1 3 1</code>
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!