如何在C#中每次迭代for循环之间添加一些延迟?

Dha*_*ari 0 c# for-loop timer asp.net-mvc-3

我正在使用C#编写ASP.NET MVC3.我想在for循环的每次迭代之间添加一些延迟.

for(int i=0; i<5; i++)
{
    //some code
    //add delay here
}
Run Code Online (Sandbox Code Playgroud)

那我该怎么办呢?

Jon*_*eet 11

正如其他答案所说,使用Thread.Sleep会使线程睡眠...但鉴于你正在编写一个网络应用程序,我不认为它会做你想要的.

如果目标是让用户一次看到一秒钟发生的事情,那么您需要将延迟放在客户端.如果在发送HTTP响应之前有五秒钟的延迟,这意味着用户必须等待五秒才能看到结果页面.

听起来你应该用AJAX做这件事.

编辑:如评论中所述,您可能值得查看window.setTimeoutJavascript调用.(我不"做"Javascript,所以我担心我无法帮助解决这方面的任何细节.)

  • 我甚至建议在Javascript中提一下`setTimeout()`给他一些东西来搜索. (3认同)