Код: Выделить всё
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
может кто -нибудь объяснить мне это? Но я не вижу, где копия ...
Подробнее здесь: https://stackoverflow.com/questions/797 ... -is-called