前提・実現したいこと
C#であるプログラムを作成しながら勉強しております。
今、Thread.Sleep()
を使用し、スレッドをスリープさせたいと思っています。このメソッドの引数がint型のミリ秒のため、1日をミリ秒に換算してみましたが、値が大きいとのことでエラーが出てしまいました。
1日や、それ以上の長い期間をスリープさせたいときはどのようにしたらよいのでしょうか。
該当のソースコード
C#
1private void Form1_Load(object sender, EventArgs e) 2 { 3 DateTime NowTime = DateTime.Now; 4 NowTime = NowTime.AddTicks(-(NowTime.Ticks % TimeSpan.TicksPerMinute)); //秒切り捨てる 5 6 //待ち時間 7 TimeSpan timespan = DateTime.ParseExact(FileName, "yyyyMMddHHmm", null) - NowTime; 8 var msec = timespan.TotalMilliseconds; 9 10 if (File.Exists(---)) 11 { 12 Thread.Sleep((int)msec); 13 //処理 14 } 15 }
補足情報(FW/ツールのバージョンなど)
C# visual studio2019 .NET Framework4.7.2
回答1件
あなたの回答
tips
プレビュー