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
Libérer: 2025-01-22 00:57:08
original
304 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal