如何添加延迟2或3秒

Mul*_*der 119 c# delay

如何在C#中为程序添加延迟?

dig*_*All 159

你可以使用Thread.Sleep()函数,例如

int milliseconds = 2000;
Thread.Sleep(milliseconds);
Run Code Online (Sandbox Code Playgroud)

停止执行当前线程2秒钟.

无论如何,这可能不符合您的需求......您到底想要完成什么?

  • 避免使用Thead.Sleep因为它将完全阻止当前线程执行任何操作直到持续时间结束. (12认同)
  • 由于我不能发表新的答案,我想评论 - 如果你不想让它阻止程序,你可以使用`await Task.Delay(毫秒)`.这对我有用:) (11认同)
  • @Mohammed:是的,当然它会完全挡住胎面.但有时它可能有用......它真的取决于OP需要什么...... (7认同)

Cod*_*ray 52

使用间隔设置为2-3秒的计时器.

您有三种不同的选项可供选择,具体取决于您编写的应用程序类型:

  1. System.Timers.Timer
  2. System.Windows.Forms.Timer
  3. System.Threading.Timer

不要使用Thread.Sleep,因为这会完全锁定线程并阻止它处理其他消息.假设一个单线程应用程序(大多数是),整个应用程序将停止响应,而不是像你想要的那样暂停.

  • 如果它是控制台应用程序,则"Thread.Sleep"警告可能不那么重要. (5认同)

Mit*_*nca 39

2,3秒你应该做:

System.Threading.Thread.Sleep(2300);
Run Code Online (Sandbox Code Playgroud)


Mer*_*ham 7

System.Threading.Thread.Sleep(
    (int)System.TimeSpan.FromSeconds(3).TotalMilliseconds);
Run Code Online (Sandbox Code Playgroud)

或者using声明:

Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds);
Run Code Online (Sandbox Code Playgroud)

我更喜欢1000 * numSeconds(或简单地3000),因为它使Thread.Sleep以前没有使用过的人更明显.它更好地记录了你的意图.

  • TimeSpan超过1000*的+1 (2认同)