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#:
- Usar LINQ e o método
Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
- 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();
-
Para objetos complexos, pode implementar
IEqualityComparer<T>e usá-lo comDistinct()ouHashSet. -
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.