Exercícios de C#

Filtrar tags sem repetição com HashSet em C#

Nesta lição, você vai usar um HashSet para manter apenas tags distintas, ignorando a diferença entre maiúsculas e minúsculas.

Introdução

HashSet<T> é uma coleção que guarda cada valor uma única vez, ideal quando você precisa de valores únicos, como a lista de tags (tag) de um artigo. O HashSet também verifica muito rápido se um valor já está no conjunto.

O HashSet é criado com o comparador StringComparer.OrdinalIgnoreCase, então "C#" e "c#" contam como a mesma tag. Ao ser inicializado com três valores, a tag repetida é ignorada e o conjunto fica com 2 elementos. Sem esse comparador, as duas grafias virariam tags diferentes.

Veja como funciona

Escolha uma operação para destacar o resultado no diagrama. Adicione um valor que já está no conjunto para ver que duplicatas são ignoradas.

Exemplo de C# executável

C#
Rodar código →
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);
    }
}
Resultado da execução
2

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios