Exercices C#

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

C#
Exécuter le code →
Program.cs
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);
    }
}
Résultat de l’exécution
2

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

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.

Tous les défis