有“睡眠”命令吗?

在很多语言中,有一种

等待时间(毫秒)

要么

睡眠时间(毫秒)

命令,只是让你的程序不再执行任何代码,直到睡眠结束(这并不意味着它停止正在运行的代码,它只是暂停运行更多。在C#中是否有这样的命令?

Thread.Sleep(time)不起作用,它暂停当前正在执行的所有代码(基本上冻结你的程序)

Thread.Sleep(int milliseconds)

是你在找什么

是的,有。

 Thread.Sleep(milliseconds) 

例如,如果您使用Thread.Sleep(5000) ,它将使线程hibernate5秒。 阅读更多@ MSDN

Thread.Sleep(milliseconds)应该为你做

在C#中,默认情况下一切都在一个线程上运行。 如果需要,可以创建另一个线程来运行特定的代码。 然后,您可以睡眠该线程,以便您的应用程序不会冻结。

请查看此问题以获取更多信息: 如何在新线程中运行一小段代码?

你需要validation语法,因为我只是想要它,但是这将在指定的时间内进入非阻塞循环……

 // Set the wait time double waitTime = 5.0; // Get the current time DateTime start = DateTime.Now; // Check the wait time while(DateTime.Now.Subtract(start).TotalSeconds < waitTime) { // Keep the thread from blocking Application.DoEvents(); } 

假设您使用的是Windows窗体。 如果您正在使用WPF:

 //Application.DoEvents(); this.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { })); 

同样,您需要先validation语法...