我正在嘗試製作一個程序,它每x分鐘執行一次。我一直在嘗試使用秒錶功能,但它似乎並沒有運行我想要的代碼,當時間到了。每x分鐘運行一次代碼
這裏是我的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading;
namespace Testing
{
class Program
{
static void Main(string[] args)
{
Stopwatch testing = new Stopwatch();
testing.Start();
Thread.Sleep(6001);
TimeSpan ts = testing.Elapsed;
int timer = Convert.ToInt32(String.Format("{0}", ts.Seconds));
Console.Write(timer);
while (testing.Elapsed < TimeSpan.FromMinutes(8))
{
timer = Convert.ToInt32(String.Format("{0}", ts.Seconds));
if (timer % 60 == 0)
{
//run x code every 1 minutes
Console.WriteLine("1 min" + timer);
}
timer = Convert.ToInt32(String.Format("{0}", ts.Seconds));
if (timer % 120 == 0)
{
//run x code every 2 minutes
Console.WriteLine("2 min" + timer);
}
}
testing.Stop();
}
}
}
嗨xxbbcc,謝謝。根據你的建議,我一直在嘗試使用ManualResetEvent,因爲它似乎適合我想要做的更多,但是我只能設法使代碼運行一次使用計時器,我所尋找的是每x分鐘,該代碼將運行一次。 例如,我將程序運行時間設置爲30分鐘。在30分鐘的運行時間內,我希望程序每隔2分鐘重複Console.WriteLine(「2分鐘已到」),直到30分鐘結束。請幫我:) – Konny
@Konny我用'System.Timers.Timer'用一些代碼更新了我的答案。 – xxbbcc