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> кеңейтүүсү, элементтерге индекстер аркылуу жетүү |