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>, добавя достъп до елементи по индекс |