Sobes.tech
Senior

Hogyan lehet eltávolítani a duplikátumokat egy tömbből? Milyen módszerek vannak?

sobes.tech MI

Válasz az MI-től

C#-ban többféle módon lehet eltávolítani a duplikátumokat egy tömbből:

  1. Használja a LINQ Distinct() metódusát:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. Használja a HashSet<T>-t, amely automatikusan csak az egyedi elemeket tárolja:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
  1. Komplex objektumok esetén megvalósíthatja az IEqualityComparer<T>-t, és használhatja a Distinct() vagy a HashSet-tel.

  2. Ha rendezésre és duplikátumok eltávolítására van szükség, rendezze a tömböt, majd ciklussal végigmenve válassza ki az egyedi elemeket.

A LINQ Distinct() a legegyszerűbb és legolvasmányosabb módszer a legtöbb esetben.