請提出一種方法或函數,讓代碼等待幾秒鐘後再繼續。我知道thread.sleep方法,但它凍結了整個程序。C#等待線程不休眠並凍結程序。
我想暫停一段時間,讓程序在下一部分恢復之前完成其程序。目前,該計劃執行的所有程序過於快速,無法遵循其他程序。
這裏是我的代碼:
{
w1.Document.GetElementById("lst-ib").InnerText = "some text";
w1.Document.Forms[0].InvokeMember("submit");
//Some code here that would create a 1 second pause before downloading html.
//Thread.sleep(2000) is not suitable.
string html = new WebClient().DownloadString(w1.Url.ToString());
您可以使用'async'編程模式,在這種情況下,您可以編寫'await Task.Delay(2000);'並完成它。然而,最好的是如果你學會了所有的模式,而不僅僅是等待的部分。 – AgentFire
不要做'新的WebClient()。DownloadString(w1.Url.ToString())'''WebClient'是一次性的,需要在使用後處置。如果你像這樣鏈接,你可以創建一個內存泄漏。 – Enigmativity
*此時程序執行的所有程序過於快速,無法執行其他程序。*這聽起來像是一種設計氣味。你不應該睡覺只是爲了讓其他組件趕上。也許描述你想要達到的目標將幫助我們理解如何爲你提供幫助。 –