List.Enumerator не продвигается при вызове MovenextC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 List.Enumerator не продвигается при вызове Movenext

Сообщение Anonymous »

Рассматривая следующий код: < /p>

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
public static void Main()
{
var enumerator = new MyEnumerator();
int i = 1;
do
{
Console.WriteLine($"Expected: {i} - Actual: {enumerator.Current}");
i++;
if(i > 5)
{
break;
}
}
while(enumerator.MoveNext());
}

private class MyEnumerator
{
private readonly List.Enumerator _enumerator;

public MyEnumerator()
{
_enumerator = Enumerable.Range(1,5).ToList().GetEnumerator();
_enumerator.MoveNext();
}

public int Current => _enumerator.Current;

public bool MoveNext() => _enumerator.MoveNext();
}
}
< /code>
Вот результат: < /p>
Expected: 1 - Actual: 1
Expected: 2 - Actual: 1
Expected: 3 - Actual: 1
Expected: 4 - Actual: 1
Expected: 5 - Actual: 1
Так что первый вызов movenext () (в конструкторе) продвигает перечисление. Но следующие вызовы нет.
может кто -нибудь объяснить мне это? Но я не вижу, где копия ...

Подробнее здесь: https://stackoverflow.com/questions/797 ... -is-called
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Является ли `[] (std :: list и list) {return std :: move (list);} (list)` гарантированно оставить `list` yelm?
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Сколько раз MoveNext() выполняется в C# в ожидании конечного автомата?
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Какой объект продвигается при создании ADSET с целью оптимизации HED_GENERATE?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Входные данные PyInstaller сбиваются (повторяет ввод, не продвигается вперед)
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Почему list+="_" работает, а list=list+"_" нет? [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»