TGViewer
C# | Вопросы собесов C# | Вопросы собесов @easy_c_sharp · 5.01K subscribers
Post #2001 874
🤔 Что такое IEnumerable?

IEnumerable — это интерфейс в базовой библиотеке классов .NET Framework, который определяет один метод: GetEnumerator(). Этот метод возвращает объект IEnumerator, который позволяет перебирать элементы коллекции (например, массива или списка) один за другим.

🚩Зачем он нужен?

Используется для создания универсального метода перебора данных, не зависящего от типа коллекции. Это означает, что любой тип данных, который реализует IEnumerable, можно перебирать с помощью цикла foreach в C#. Это упрощает работу с различными структурами данных, предоставляя единый механизм для итерации элементов.

🚩Как он используется?

Когда вы реализуете интерфейс IEnumerable в своём классе, вы обязуете этот класс предоставлять метод GetEnumerator(), который возвращает IEnumerator. IEnumerator, в свою очередь, имеет методы для перехода к следующему элементу (MoveNext) и для получения текущего элемента (Current), а также метод Reset(), который возвращает перечислитель в начальное состояние.
using System;
using System.Collections;

public class DaysOfWeek : IEnumerable
{
private string[] days = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };

public IEnumerator GetEnumerator()
{
for (int index = 0; index < days.Length; index++)
{
// Yield each day of the week.
yield return days[index];
}
}
}

public class Program
{
public static void Main()
{
DaysOfWeek daysOfWeek = new DaysOfWeek();
foreach (string day in daysOfWeek)
{
Console.WriteLine(day);
}
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 2
More from @easy_c_sharp
  1. Oct 13, 2026🤔 Что такое Swagger? Swagger (теперь часть OpenAPI): - Это инструмент для документировани…
  2. Oct 13, 2026🤔 Что такое аутентификация? Когда человек вводит логин и пароль, система аутентифицирует…
  3. Oct 13, 2026Тестировщик fullstack: C#-автоматизация и ручные тесты Если вы хотели работать на сильном…
  4. Oct 12, 2026Post #2482
  5. Oct 12, 2026🤔 Возможно ли как-нибудь ограничить типы, которые пользователь будет передавать через шаб…
  6. Oct 12, 2026🤔 Какие принципы и практики используешь для обеспечения безопасности приложений? 🟠Валида…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →