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

  1. LINQ va Distinct() metodidan foydalanish:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. 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();
  1. Murakkab ob'ektlar uchun, IEqualityComparer<T> ni amalga oshirish va uni Distinct() yoki HashSet bilan ishlatish mumkin.

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