Работа с iEnumerable в C#: примеры и особенности использования
`IEnumerable` - это интерфейс, который определяет последовательность элементов, на которых можно выполнить операции перечисления. Он содержит один метод GetEnumerator(), который возвращает объект, реализующий интерфейс `IEnumerator`.
Пример создания коллекции, которая реализует `IEnumerable`:
csharp
public class MyCollection : IEnumerable
{
private T[] items;
public MyCollection(T[] items)
{
this.items = items;
}
public IEnumerator GetEnumerator()
{
return new MyEnumerator(items);
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
Здесь `MyCollection` представляет собой коллекцию элементов типа `T`. Метод `GetEnumerator()` возвращает объект `MyEnumerator
Пример использования `MyCollection`:
csharp
MyCollection numbers = new MyCollection(new int[] { 1, 2, 3, 4, 5 });
foreach (int num in numbers)
{
Console.WriteLine(num); // выводит числа от 1 до 5
}
Здесь мы создаем экземпляр `MyCollection
В итоге, `IEnumerable` является основой для реализации коллекций и перечислимых объектов в .NET Framework. Он позволяет осуществлять итерацию по элементам коллекции с помощью цикла `foreach` и других методов перебора, что является основным способом работы с данными в C#.