Я хочу сделать метод, который заменит это-
for (var i = 0; i < seconds; i++)
{
...... // code that should run every second
Thread.Sleep(1000);
}
Итак, я написал следующий метод:
public static void DoEverySecond(int seconds, Action action)
{
for (var i = 0; i < seconds; i++)
{
action.Invoke();
Thread.Sleep(1000);
}
}
и теперь каждый раз, когда я хочу что-то делать каждую секунду, я могу просто позвонить -
HelperClass.DoEverySecond(5, () =>
{
Console.Write("Hellow")
});
проблема в том, что когда действие содержит возврат, цикл не останавливается.
Он просто выходит из действия и переходит к следующей итерации.
HelperClass.DoEverySecond(5, () =>
{
return;
});