Sobes.tech
Junior

Какво е IEnumerable в C#?

sobes.tech AI

Отговор от AI

IEnumerable в C# е интерфейс, дефиниран в пространството от имена System.Collections. Той предоставя общ начин за обхождане (итерация) на елементите на колекция.

Ключови характеристики на IEnumerable:

  • Достъп чрез итератор: Определя метода GetEnumerator(), който връща обект, реализиращ интерфейса IEnumerator. IEnumerator позволява последователно преминаване от един елемент на колекцията към друг.
  • Само за четене: IEnumerable позволява само обхождане на елементите. Той не предоставя методи за добавяне, изтриване или промяна на елементите в колекцията.
  • Мързеливо зареждане: Използването на IEnumerable често води до мързеливо зареждане. Елементите се генерират или зареждат само при необходимост по време на итерацията.
  • Основата на LINQ: IEnumerable е фундаментален интерфейс за много операции на LINQ. Методи за разширение на LINQ (като Where, Select, OrderBy) работят с колекции, реализиращи IEnumerable, позволявайки създаването на вериги от операции.

Пример за използване:

// Създаваме списък от низове
List<string> плодове = new List<string> { "ябълка", "банан", "череша" };

// Обхождаме елементите на списъка с помощта на foreach, който работи с IEnumerable
foreach (string плод in плодове)
{
    // Извеждаме всеки плод
    Console.WriteLine(плод);
}

Свързани интерфейси:

Интерфейс Описание
IEnumerable Предоставя обхождане на елементите на колекцията
IEnumerable<T> Генерична версия на IEnumerable за типизирани колекции
ICollection Разширява IEnumerable, добавя методи за размер, добавяне/изтриване на елементи (неуниверсално)
ICollection<T> Генерична версия на ICollection
IList<T> Разширява ICollection<T>, добавя достъп до елементи по индекс