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

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

Barbara Streisand
Barbara Streisandoriginal
2025-01-03 09:45:39259parcourir

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

Comptage des occurrences dans une liste en utilisant C#

En C#, il existe différentes méthodes disponibles pour compter efficacement les occurrences de chaque élément dans une liste . Une approche consiste à utiliser la méthode d'extension GroupBy :

using System;
using System.Collections.Generic;
using System.Linq;

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

// Group the list elements based on their values
var groupedList = list.GroupBy(i => i);

// Iterate over each group and count the occurrences
foreach (var group in groupedList)
{
    Console.WriteLine($"{group.Key}: {group.Count()}");
}

Dans cet exemple, la méthode GroupBy prend un Func délégué, qui spécifie comment regrouper les éléments. Dans ce cas, nous regroupons par l'élément lui-même. La groupedList résultante est un IEnumerable>, où chaque IGrouping représente un élément unique et son nombre. La propriété Key de IGrouping représente la valeur de l'élément et la méthode Count() renvoie le nombre d'occurrences pour cet élément.

Vous pouvez également utiliser un dictionnaire :

using System;
using System.Collections.Generic;

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

// Create a dictionary to store element counts
Dictionary<int, int> counts = new Dictionary<int, int>();

// Populate the dictionary with counts
foreach (var item in list)
{
    if (counts.ContainsKey(item))
    {
        counts[item]++;
    }
    else
    {
        counts[item] = 1;
    }
}

// Iterate over the dictionary to print element counts
foreach (var kvp in counts)
{
    Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}

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