Sobes.tech
Junior

C# da IEnumerable nima?

sobes.tech AI

AIdan javob

IEnumerable - bu interfeys, aniqlangan System.Collections nom space da. U kolleksiyaning elementlarini umumiy tarzda aylanib chiqish (iteratsiya qilish) imkonini beradi.

IEnumerable ning asosiy xususiyatlari:

  • Iteratsiya qilish uchun kirish: GetEnumerator() metodini belgilaydi, bu metod IEnumerator interfeysini amalga oshiradigan obyektni qaytaradi. IEnumerator kolleksiyaning bir elementidan ikkinchisiga ketma-ket o'tishni ta'minlaydi.
  • Faqat o'qish uchun: IEnumerable faqat elementlarni aylanib chiqishga imkon beradi. U elementlarni qo'shish, o'chirish yoki o'zgartirish uchun metodlar taqdim etmaydi.
  • Lazily yuklash: IEnumerable dan foydalanish ko'pincha kechiktirilgan yuklashga olib keladi. Elementlar faqat kerak bo'lsa, iteratsiya davomida yaratiladi yoki yuklanadi.
  • LINQ ning asosidir: IEnumerable ko'plab LINQ operatsiyalari uchun asosiy interfeysdir. LINQ kengaytirish metodlari (Where, Select, OrderBy) IEnumerable ni amalga oshirgan kolleksiyalar bilan ishlaydi va operatsiyalar zanjirlarini yaratishga imkon beradi.

Misol:

// Stringlar ro'yxatini yaratamiz
List<string> mevalar = new List<string> { "olma", "banan", "gilos" };

// `IEnumerable` bilan ishlovchi foreach yordamida ro'yxat elementlarini aylanib chiqamiz
foreach (string meva in mevalar)
{
    // Har bir meva chiqaramiz
    Console.WriteLine(meva);
}

Bog'liq interfeyslar:

Interfeys Tavsifi
IEnumerable Kolleksiyaning elementlarini aylanib chiqishni ta'minlaydi
IEnumerable<T> IEnumerable ning generik versiyasi, tiplangan kolleksiyalar uchun
ICollection IEnumerable ni kengaytiradi, o'lcham, qo'shish/o'chirish metodlarini qo'shadi (umumiy emas)
ICollection<T> ICollection ning generik versiyasi
IList<T> ICollection<T> ni kengaytiradi, elementlarga indeks orqali kirishni qo'shadi