我想在循環中添加1秒的延遲。爲循環添加1秒的延遲?
我所做的是:
public void Delay()
{
DateTime end = DateTime.Now.AddSeconds(1);
while (DateTime.Now <= end)
{
//code here
}
}
,我添加延遲()在我的循環。
這是做這件事的最好的/可接受的方式,或者可以有人推薦更好的方法嗎?
我想在循環中添加1秒的延遲。爲循環添加1秒的延遲?
我所做的是:
public void Delay()
{
DateTime end = DateTime.Now.AddSeconds(1);
while (DateTime.Now <= end)
{
//code here
}
}
,我添加延遲()在我的循環。
這是做這件事的最好的/可接受的方式,或者可以有人推薦更好的方法嗎?
Thread.Sleep (1000);
這1000是持續時間以毫秒爲單位。
這裏的方式做到這一點:
public void Delay(int seconds)
{
//DateTime end = DateTime.Now.AddSeconds(1);
//while (DateTime.Now <= end)
//{
//}
System.Threading.Thread.Sleep(seconds * 1000);
}
皮耶羅,如果你想抽象毫秒,只處理秒,沒有必要照顧轉換,睡眠有一個超載,接受TimeSpan。同樣可以直接用'Thread.Sleep(TimeSpan.FromSeconds(1));'完成。 – Veverke
我不知道 –
謝謝。它的工作現在。 –
嘗試了Thread.Sleep();
using System.Threading;
Thread.Sleep(1000); // 1000 milliseconds i.e 1sec
如果你能負擔得起停止整個線程,你可以使用'Thread.Sleep(1000)'。它停止執行線程1000毫秒。 –
請記住,像您一樣建議Thread.Sleep(1000)將阻止當前正在運行的線程。如果這不是問題(如果這是唯一的線程),沒有理由不這樣做。 – Veverke
@Veverke我會說這不是一個問題,如果該線程沒有做別的。 –