Sobes.tech
Junior

C# да IEnumerable эмне?

sobes.tech AI

AIден жооп

C# тилиндеги IEnumerable — бул System.Collections кеңейиши ичинде аныкталган интерфейс. Ал коллекциянын элементтерин өтүү (итерирөө) үчүн жалпы жолду камсыздайт:

IEnumerableтин негизги өзгөчөлүктөрү:

  • Итератор аркылуу жетүү: GetEnumerator() ыкмасын аныктайт, ал IEnumerator интерфейсин ишке ашырат. IEnumerator коллекциянын бир элементинен экинчи элементине өтүүгө мүмкүндүк берет.
  • Окууга гана: IEnumerable элементтерди өтүүгө гана мүмкүндүк берет. Ал элементтерди кошуу, өчүрүү же өзгөртүү үчүн ыкмаларды бербейт.
  • Баяу жүктөө: IEnumerable колдонуу көбүнчө баяу жүктөөгө алып келет. Элементтер керек болгондо гана түзүлөт же жүктөлөт.
  • LINQ негизги: IEnumerable көптөгөн LINQ операциялары үчүн негизги интерфейс болуп саналат. LINQ кеңейтүү ыкмалары (Where, Select, OrderBy) IEnumerable ишке ашырган коллекциялар менен иштейт, операциялардын чынжырын түзүүгө мүмкүндүк берет.

Колдонуу мисалы:

// Тексттердин тизмесин түзүү
List<string> жемиштер = new List<string> { "алма", "банан", "чериш" };

// `IEnumerable` менен иштеген `foreach` аркылуу элементтерди өтүү
foreach (string жемиш in жемиштер)
{
    // Ар бир жемишти чыгарыңыз
    Console.WriteLine(жемиш);
}

Тийиштүү интерфейсдер:

Интерфейс Түшүндүрмө
IEnumerable Коллекциянын элементтерин өтүүгө мүмкүндүк берет
IEnumerable<T> IEnumerable-дин гениралык версиясы, так түрдө белгиленген коллекциялар үчүн
ICollection IEnumerable кеңейтет, өлчөмү, кошуу/өчүрүү ыкмаларын кошот (жалпы эмес)
ICollection<T> ICollection-дин гениралык версиясы
IList<T> ICollection<T> кеңейтүүсү, элементтерге индекстер аркылуу жетүү