Senior
¿Cómo eliminar duplicados de un array? ¿Qué métodos existen?
sobes.tech AI
Respuesta de la IA
En C# hay varias formas de eliminar duplicados de un array:
- Usar LINQ y el método
Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
- Usar
HashSet<T>, que automáticamente almacena solo elementos únicos:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
-
Para objetos complejos, se puede implementar
IEqualityComparer<T>y usarlo conDistinct()oHashSet. -
Si se necesita ordenar y eliminar duplicados, se puede ordenar el array y luego recorrerlo con un ciclo, seleccionando los elementos únicos.
El método Distinct() de LINQ es la forma más sencilla y legible para la mayoría de los casos.