我想在循环中添加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我会说这不是一个问题,如果该线程没有做别的。 –