Подтвердить что ты не робот

Определение "enumerator" в С#

В чем смысл перечислителя в С#?

4b9b3361

Ответ 1

Перечислитель позволяет вам перечислять (перебирать) по набору элементов.

Вы можете сделать это, просто просмотрев участников интерфейса IEnumerator. Более конкретно, Enumerator точно знает, где вы находитесь в коллекции (текущий элемент) и где следующий элемент (метод MoveNext).

Ознакомьтесь с статьей Википедии об Итераторе:

Итератор - Википедия

Ответ 2

"Enumerator" - это имя платформы .NET Framework для итераторов. Страница Wikipedia на итераторах содержит хорошее введение в эту тему:

Для информации, специфичной для реализации .NET, страница MSDN интерфейса IEnumerator содержит более подробную информацию:

В общем, итератор позволяет вам перебирать коллекцию. В С# итераторы чаще всего используют неявность через оператор foreach:

foreach (myType o in myCollection)
{
    // do something with o
}

Это эквивалентно следующему явному использованию итератора:

IEnumerator<myType> iter = myCollection.GetEnumerator();
while (iter.MoveNext())
{
    var o = iter.Current;
    // do something with o
}

Ответ 3

Вы используете перечислитель для итерации по набору элементов.

Один хороший способ сделать это - С# использует цикл foreach.

Пример:

IList<string> actors = new List<string>();
actors.Add("Chuck Norris");
actors.Add("Denzel Washington");
actors.Add("Sylvester Stallone");

// iterate over the list using foreach
foreach (string actor in actors)
{
    //...
}

Ответ 4

IEnumerable и IEnumarable имеют метод GetEnumerator(), который возвращает объект Enumerator

Перечислитель предоставляет метод GetNext(), который довольно понятен.

Перечислители - это то, что позволяет цикл foreach