Sobes.tech
Senior

Ako odstrániť duplikáty z poľa? Aké sú spôsoby?

sobes.tech AI

Odpoveď od AI

V jazyku C# existuje niekoľko spôsobov, ako odstrániť duplikáty z poľa:

  1. Použitím LINQ a metódy Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. Použitím HashSet<T>, ktorý automaticky uchováva iba jedinečné prvky:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
  1. Pre zložité objekty môžete implementovať IEqualityComparer<T> a používať ho s Distinct() alebo HashSet.

  2. Ak je potrebné zoradiť a odstrániť duplikáty, môžete pole zoradiť a potom prejsť cez ne cyklom, vyberajúc jedinečné prvky.

Metóda Distinct() z LINQ je najjednoduchší a najčitateľnejší spôsob vo väčšine prípadov.