Sobes.tech
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:

  1. Usar LINQ y el método Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. 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();
  1. Para objetos complejos, se puede implementar IEqualityComparer<T> y usarlo con Distinct() o HashSet.

  2. 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.