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 metodIEnumeratorinterfeysini amalga oshiradigan obyektni qaytaradi.IEnumeratorkolleksiyaning bir elementidan ikkinchisiga ketma-ket o'tishni ta'minlaydi. - Faqat o'qish uchun:
IEnumerablefaqat elementlarni aylanib chiqishga imkon beradi. U elementlarni qo'shish, o'chirish yoki o'zgartirish uchun metodlar taqdim etmaydi. - Lazily yuklash:
IEnumerabledan foydalanish ko'pincha kechiktirilgan yuklashga olib keladi. Elementlar faqat kerak bo'lsa, iteratsiya davomida yaratiladi yoki yuklanadi. - LINQ ning asosidir:
IEnumerableko'plab LINQ operatsiyalari uchun asosiy interfeysdir. LINQ kengaytirish metodlari (Where,Select,OrderBy)IEnumerableni 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 |