Maison >développement back-end >C++ >Comment LINQ GroupBy peut-il être utilisé pour compter les occurrences de métriques dans un ensemble de données ?

Comment LINQ GroupBy peut-il être utilisé pour compter les occurrences de métriques dans un ensemble de données ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-22 00:57:08324parcourir

How Can LINQ GroupBy Be Used to Count Metric Occurrences in a Dataset?

Utilisez LINQ GroupBy pour compter les occurrences

LINQ fournit un moyen pratique de regrouper des éléments de données en fonction de clés spécifiées et de compter leurs occurrences. Considérez l'ensemble de données suivant :

<code>UserInfo(name, metric, day, other_metric)</code>

Exemples de données :

<code>joe  1 01/01/2011 5
jane 0 01/02/2011 9
john 2 01/03/2011 0
jim  3 01/04/2011 1
jean 1 01/05/2011 3
jill 2 01/06/2011 5
jeb  0 01/07/2011 3
jenn 0 01/08/2011 7</code>

L'objectif est de créer un tableau qui répertorie les métriques dans l'ordre et leur nombre total d'occurrences. L'expression LINQ appropriée est la suivante :

<code>var counts = data.GroupBy(i => i.metric)
                .Select(g => new { Metric = g.Key, Count = g.Count() })
                .OrderBy(r => r.Metric);</code>

Cela fonctionne comme suit :

  1. GroupBy : La méthode GroupBy regroupe les éléments dans metric en fonction de l'attribut data. Cela produira une collection de groupes, chaque groupe représentant une valeur métrique unique.
  2. Select : Pour chaque groupe, la méthode Select crée un nouvel objet avec deux propriétés : Metric (la clé du groupe, représentant la valeur de la métrique) et Count (le nombre d'éléments dans le groupe, représentant la métrique) nombre d'occurrences).
  3. OrderBy : Enfin, la méthode OrderBy trie la collection d'objets générés en fonction de l'attribut Metric, garantissant que les indicateurs sont classés par ordre croissant.

L'exécution de cette expression LINQ produira le résultat souhaité :

<code>0 3
1 2
2 2
3 1</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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn