Maison >développement back-end >C++ >Comment les méthodes GroupBy et Count de LINQ peuvent-elles être utilisées pour l'agrégation de données ?
Utilisez les méthodes GroupBy et Count de LINQ pour l'agrégation de données
L'opérateur GroupBy dans LINQ est un outil puissant pour agréger des données en fonction de clés spécifiées. Combinée à la méthode Count(), elle peut être utilisée pour compter les occurrences de valeurs groupées.
Supposons le scénario suivant : vous disposez d'un ensemble de données appelé UserInfo, qui contient des enregistrements de métriques et d'autres informations pour les utilisateurs. Pour récupérer le nombre d'occurrences de métriques, vous devez regrouper les données par métrique et compter le nombre d'enregistrements dans chaque groupe.
<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>
Voici comment obtenir le résultat souhaité à l'aide de GroupBy et Count de LINQ :
<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>
Dans ce code, l'opérateur GroupBy() regroupe les données par propriétés Metric, créant une collection d'objets IEnumerable
La sortie de ce code sera :
<code>0 1 1 1 2 1 3 1</code>
Cela montre comment utiliser LINQ pour récupérer efficacement des données agrégées en regroupant et en comptant les valeurs. En comprenant l'utilisation de GroupBy et Count, vous pouvez manipuler et résumer efficacement les données dans votre application.
Veuillez noter que le nombre de Metric=0 dans les exemples de données est différent dans l'article original et dans la version modifiée, ce qui peut être une erreur dans l'article original. La version modifiée est plus cohérente avec la sortie du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!