如何在 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