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
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);
}
}
2Pratique com o depurador
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.
- Remover Duplicatas Mantenha apenas a primeira ocorrência de cada valor. Fácil
- Pangram Check A pangram contains every English letter at least once. Fácil