Sobes.tech
Senior

Como remover duplicados de um array? Quais são as formas?

sobes.tech IA

Resposta da IA

Existem várias formas de remover duplicados de um array em C#:

  1. Usar LINQ e o método Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. Usar HashSet<T>, que armazena automaticamente apenas elementos únicos:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
  1. Para objetos complexos, pode implementar IEqualityComparer<T> e usá-lo com Distinct() ou HashSet.

  2. Se precisar ordenar e remover duplicados, pode ordenar o array e percorrê-lo com um ciclo, selecionando os elementos únicos.

O método Distinct() do LINQ é a forma mais simples e legível na maioria dos casos.