首页 > 解决方案 > 我如何睡一定的毫秒数?

问题描述

我到处搜索,如果这听起来很荒谬,我感到很困惑,但我无法在任何地方找到如何做到这一点,我总是遇到无效类型等的调试错误

我有一个简单的数字,我希望它有 # of seconds 然后我想做一个线程睡眠 X 毫秒

我怎么转换这个?我已经尝试了我最后一次尝试的所有尝试,这再次是错误的。帮帮我,请欢呼

// int countnumeric = Convert.ToInt32(Math.Round(numericUpDown1.Value, 0));

var timeSpan = new TimeSpan((long)numericUpDown1.Value);

MessageBox.Show("sleeping for milliseconds - " + Convert.ToInt32(Math.Round(timeSpan.TotalMilliseconds, 0)));

System.Threading.Thread.Sleep(Convert.ToInt32(Math.Round(timeSpan.TotalMilliseconds, 0))); ///////**

标签: c#timespanthread-sleep

解决方案


TimeSpan结构有一些非常有用的方法来创建 TimeSpan,您正在寻找TimeSpan.FromSeconds

var timeToSleep = TimeSpan.FromSeconds(Convert.ToDouble(numericUpDown1.Value));

Thread.Sleep(timeToSleep);

如果您使用的是异步方法,则可以使用:

await Task.Delay(timeToSleep);

推荐阅读