Filtrer des tags sans doublon avec HashSet en C#
Dans cette leçon, vous allez utiliser un HashSet pour ne garder que des tags distincts, en ignorant la différence entre majuscules et minuscules.
Introduction
HashSet<T> est une collection qui ne stocke chaque valeur qu'une seule fois, idéale quand on a besoin de valeurs uniques, comme la liste des tags d'un article. Un HashSet vérifie aussi très rapidement si une valeur s'y trouve déjà.
Le HashSet est créé avec le comparateur StringComparer.OrdinalIgnoreCase, "C#" et "c#" comptent donc comme le même tag. À l'initialisation avec trois valeurs, le tag en double est ignoré et l'ensemble ne contient que 2 éléments. Sans ce comparateur, les deux écritures deviendraient deux tags distincts.
Voir comment ça marche
Choisissez une opération pour mettre son résultat en évidence. Ajoutez une valeur déjà présente pour voir que les doublons sont ignorés.
Exemple C# exécutable
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var tags = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "C#", "dotnet", "c#" };
Console.WriteLine(tags.Count);
}
}
2S'entraîner avec le débogueur
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
- Supprimer les doublons Ne conserver que la première occurrence de chaque valeur. Facile
- Vérification de pangramme Un pangramme contient chaque lettre de l’alphabet anglais au moins une fois. Facile