Senior
Massivdan takrorlarni qanday olib tashlash mumkin? Qaysi usullar mavjud?
sobes.tech AI
AIdan javob
C# da arraydan takroriy elementlarni olib tashlashning bir nechta usullari mavjud:
- LINQ va
Distinct()metodidan foydalanish:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
HashSet<T>dan foydalanish, u avtomatik ravishda faqat noyob elementlarni saqlaydi:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
-
Murakkab ob'ektlar uchun,
IEqualityComparer<T>ni amalga oshirish va uniDistinct()yokiHashSetbilan ishlatish mumkin. -
Agar tartiblash va takrorlanishni olib tashlash kerak bo'lsa, arrayni tartiblash va keyin uni sikl bilan o'tib, noyob elementlarni tanlash mumkin.
LINQ Distinct() - ko'p hollarda eng oddiy va o'qilishi oson usul.