如何在 C# 中经过一定时间后调用方法
How to Call A Method after certain time has passed in C#
我试图在一定时间(15 秒)结束后在此 if 语句中调用一个方法,但它似乎根本不起作用,无法打印出方法中的文本。我将如何着手这样做,我已经尝试研究秒表的工作原理,但它似乎没有用。感谢您的帮助。
我试过这个代码
Stopwatch watch = Stopwatch.StartNew();
if (watch.Elapsed.TotalMilliseconds == 15)
{
Method();
}
您要做的是暂时停止执行,然后调用该方法。
最简单的方法是:
Thread.Sleep(TimeSpan.FromSeconds(15));
Method();
但请注意,您的线程在此期间没有做任何事情,因此更好的方法是使用 TPL 和 async 方法,但为了满足您的需要,上面的代码可能会做:)
Task
就是你所需要的
Task.Delay(new TimeSpan(0, 0, 15)).ContinueWith(o => { Method(); });
关于异步编程的更多信息here
我试图在一定时间(15 秒)结束后在此 if 语句中调用一个方法,但它似乎根本不起作用,无法打印出方法中的文本。我将如何着手这样做,我已经尝试研究秒表的工作原理,但它似乎没有用。感谢您的帮助。
我试过这个代码
Stopwatch watch = Stopwatch.StartNew();
if (watch.Elapsed.TotalMilliseconds == 15)
{
Method();
}
您要做的是暂时停止执行,然后调用该方法。 最简单的方法是:
Thread.Sleep(TimeSpan.FromSeconds(15));
Method();
但请注意,您的线程在此期间没有做任何事情,因此更好的方法是使用 TPL 和 async 方法,但为了满足您的需要,上面的代码可能会做:)
Task
就是你所需要的
Task.Delay(new TimeSpan(0, 0, 15)).ContinueWith(o => { Method(); });
关于异步编程的更多信息here