Как мне спать определенное количество миллисекунд? - PullRequest
0 голосов
/ 24 сентября 2018

Я искал везде, и я озадачен, извините, если это звучит так смешно, но я не могу просто найти где-нибудь, как это сделать, я всегда получаю ошибки отладки с недопустимыми типами и т. Д.

Я получил простое число и хочу егочтобы иметь # секунд, то я хочу сделать нить сна в течение 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))); ///////**

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Структура TimeSpan имеет несколько очень полезных методов для создания интервалов времени, которые вы ищете TimeSpan.FromSeconds

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

Thread.Sleep(timeToSleep);

Если вы находитесь вАсинхронный метод, который вы можете использовать:

await Task.Delay(timeToSleep);
0 голосов
/ 24 сентября 2018

Нет необходимости конвертировать.Thread.Sleep обеспечивает перегрузку, которая принимает TimeSpan в качестве параметра длительности.так что вы можете позвонить Thread.Sleep(timeSpan);.

...