在C#中,可以使用System.Threading.Timer類來實現輪詢操作。該類可以設置時間間隔,并在指定的時間間隔后執行指定的方法。
在Timer類的構造函數中可以指定時間間隔,并且在回調函數中可以根據需要動態改變時間間隔。例如,可以在回調函數中根據某些條件來決定下一次輪詢的時間間隔。
using System;
using System.Threading;
class Program
{
static Timer timer;
static void Main()
{
timer = new Timer(TimerCallback, null, 0, 1000); // 1秒鐘輪詢一次
Console.ReadLine();
}
static void TimerCallback(object state)
{
Console.WriteLine(DateTime.Now);
// 根據某些條件來決定下一次輪詢的時間間隔
if (someCondition)
{
timer.Change(2000, Timeout.Infinite); // 2秒鐘后再次輪詢
}
else
{
timer.Change(1000, Timeout.Infinite); // 1秒鐘后再次輪詢
}
}
}
在回調函數中,可以使用Timer類的Change方法來動態修改時間間隔。Change方法接受兩個參數,第一個參數表示下一次輪詢的間隔時間,第二個參數表示取消當前的輪詢操作。通過在回調函數中動態改變時間間隔,可以實現動態間隔的輪詢操作。