Je souhaite compter le nombre d'occurrences de chaque mot figurant dans une liste.
C'est ma fonction qui compte l'apparitionComptabiliser le nombre d'occurrence de chaque mot dans une liste de formulaires C# windows
public int CountWords(ArrayList list, string item)
{
int count = 0;
foreach (string str in list)
{
if (item == str)
count++;
}
return count;
}
Et c'est là que j'utiliser CountWords ->
private void button4_Click(object sender, EventArgs e)
{
listBox3.Items.Clear();
ArrayList arrList = new ArrayList();
int count = 0;
foreach (object item in listBox2.Items)
{
arrList.Add(item);
}
foreach (string str in arrList)
{
count = obj.CountWords(arrList, str);
listBox3.Items.Add(str + ": " + count);
}
}
Si dans la liste que j'ai ces valeurs:
salut
sa
me
me
le résultat est la suivante:
Les chiffres sont justes, mais je veux que le résultat soit comme ceci:
Que dois-je ajouter ou supprimer de le code?
Je vais apprécier toute sorte d'aide :)
Modifier:
Je ne suis pas en mesure d'utiliser la méthode Count ().
Pourquoi utilisez-vous ArrayList? Pourquoi pas tableau ou liste? str.Distinct(). ToList(); devrait supprimer les doublons, mais retourne une liste. –