Maison > développement back-end > C++ > Comment puis-je compter efficacement les occurrences d'éléments dans une liste C# à l'aide de GroupBy ?

Comment puis-je compter efficacement les occurrences d'éléments dans une liste C# à l'aide de GroupBy ?

Mary-Kate Olsen
Libérer: 2025-01-02 13:03:39
original
279 Les gens l'ont consulté

How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?

Compter les occurrences d'éléments dans une liste à l'aide de GroupBy

Compter le nombre d'occurrences de chaque élément dans une liste peut être une tâche fastidieuse, en particulier si la liste est longue. Cependant, il existe une solution élégante utilisant la méthode GroupBy en C#.

La méthode GroupBy prend une séquence d'éléments en entrée et les regroupe en fonction d'une clé spécifiée. Dans ce cas, nous souhaitons regrouper les éléments par leurs valeurs.

var l1 = new List<int>() { 1, 2, 3, 4, 5, 2, 2, 2, 4, 4, 4, 1 };

var g = l1.GroupBy(i => i);
Copier après la connexion

La méthode GroupBy renvoie un IGrouping objet, où TKey est le type de la clé de regroupement et TElement est le type des éléments du groupe. Dans ce cas, la clé de regroupement est l'élément lui-même (c'est-à-dire la valeur de l'élément) et les éléments du groupe sont les occurrences de cette valeur (c'est-à-dire le nombre de fois que la valeur apparaît dans la liste).

Itérer sur chaque groupe nous donne la clé (la valeur de l'élément) et le nombre d'occurrences (le nombre de groupe).

foreach (var grp in g)
{
  Console.WriteLine($"{grp.Key} {grp.Count()}");
}
Copier après la connexion

Résultat :

1 2
2 4
3 1
4 4
5 1
Copier après la connexion

Cette solution est efficace et facile à mettre en œuvre, ce qui en fait un ajout précieux à la boîte à outils de tout programmeur.

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