簡體   English   中英

我如何睡眠一定的毫秒數?

[英]How do I sleep for a certain number of milliseconds?

我到處搜索,如果這聽起來太荒謬,我感到困惑,但是我無法找到任何地方怎么做,我總是會收到無效類型等的調試錯誤

我有一個簡單的數字,我希望它具有#秒,然后我想使線程休眠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))); ///////**

TimeSpan結構具有一些用於創建TimeSpans的非常有用的方法,您正在尋找TimeSpan.FromSeconds

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

Thread.Sleep(timeToSleep);

如果您使用異步方法,則可以使用:

await Task.Delay(timeToSleep);

無需轉換。 Thread.Sleep提供了一個重載,將TimeSpan作為持續時間參數。 所以你可以調用Thread.Sleep(timeSpan);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM