Nutzen Sie LINQ, um Daten effizient zu gruppieren und zu zählen
LINQ (Language Integrated Query) in C# bietet eine leistungsstarke Möglichkeit, Daten zu bearbeiten und abzufragen. In Situationen, in denen Sie Datensätze gruppieren und zählen müssen, bietet LINQ eine übersichtliche und effiziente Lösung.
Angenommen, wir haben einen Datensatz mit Benutzern und den zugehörigen Messwerten und Daten:
<code>UserInfo(姓名, 指标, 日期, 其他指标) 数据: joe 1 2011/01/01 5 jane 0 2011/01/02 9 john 2 2011/01/03 0 jim 3 2011/01/04 1 jean 1 2011/01/05 3 jill 2 2011/01/06 5 jeb 0 2011/01/07 3 jenn 0 2011/01/08 7</code>
Unser Ziel ist es, eine Tabelle zu erhalten, die nach der Reihenfolge der Indikatoren (0, 1, 2, 3...) gruppiert ist und die Gesamtzahl der Vorkommen jedes Indikators anzeigt.
Gruppieren und Zählen mit LINQ
Um dies mit LINQ zu erreichen, können wir die Methoden „GroupBy“ und „Select“ verwenden:
<code>foreach(var line in data.GroupBy(info => info.metric) .Select(group => new { Metric = group.Key, Count = group.Count() }) .OrderBy(x => x.Metric)) { Console.WriteLine("{0} {1}", line.Metric, line.Count); }</code>
Anleitung:
Ausgabe:
<code>0 3 1 2 2 2 3 1</code>
Anders
Obwohl die bereitgestellte LINQ-Lösung effizient ist, könnte sie noch weiter vereinfacht werden:
<code>var result = data.GroupBy(info => info.metric) .Select(group => new { Metric = group.Key, Count = group.Count() }) .OrderBy(x => x.Metric);</code>
Der einzige Unterschied besteht darin, dass wir die Ergebnisse nicht mit einer „foreach“-Schleife durchlaufen, sondern einer Variablen namens „result“ zuweisen.
Wichtige Punkte
Das obige ist der detaillierte Inhalt vonWie kann LINQ Daten effizient gruppieren und Vorkommen zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!