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 () (в конструкторе) продвигает перечисление. Но следующие вызовы нет.
может кто -нибудь объяснить мне это? Но я не вижу, где копия ...
Рассматривая следующий код: < /p> [code]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 [/code] Так что первый вызов movenext () (в конструкторе) продвигает перечисление. Но следующие вызовы нет. может кто -нибудь объяснить мне это? Но я не вижу, где копия ...
Сейчас я пытаюсь понять механизм ожидания C#. Я знаю, что это синтаксический сахар конечного автомата, например. В этом посте: async/await, что происходит внутри, автор показал IL-код.
Однако я все еще не очень проясните детали, например, что на...
Я делаю небольшую программу, поэтому попробовал попрактиковаться в Python, и теперь, когда все работает, я хочу создать .exe-файл для клиента. Я думал, что с PyInstaller все будет легко, но при вводе возникают ошибки, и я не знаю, как найти...