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:
- Použitím LINQ a metódy
Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
- 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();
-
Pre zložité objekty môžete implementovať
IEqualityComparer<T>a používať ho sDistinct()aleboHashSet. -
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.