morto
@morto
вечный ученик

Как выполнить функцию через время?

Здравствуйте, как можно в C# wpf запустить какую-либо функцию через определенное время например через 4000 мс?

P.S.: Аналог функции setTimeout в JS.
  • Вопрос задан
  • 1302 просмотра
Решения вопроса 2
sarapinit
@sarapinit Куратор тега C#
Точу водой камень
public static void Main(string[] args)
{
    // подождет 1с и вызовет SomeMethod 1 раз
    var t1 = new System.Threading.Timer(SomeWork, null, TimeSpan.FromSeconds(1), TimeSpan.Zero);
    // подождет 5с и будет вызывать SomeMethod раз в секунду
    var t2 = new System.Threading.Timer(SomeWork, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(1));
    Console.ReadKey();
}

public static void SomeWork(object state)
{
    Console.WriteLine("work");
}
Ответ написан
Griboks
@Griboks Куратор тега C#
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Есть timer запускаете его и подписываетесь на тики соответственно выполняете что то. Это идёт в отдельном потоке и не блокирует юай
Ответ написан
Комментировать
vabka
@vabka Куратор тега C#
Токсичный шарпист
Task.Delay или Thread.Sleep
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы