[英]c# - Timer with different parameters at each time
我有一些保存在JSON文件中的問題列表。 我想每10秒發送一個不同的問題。 我每10秒啟動一個計時器,但是int的“位置”不能每次都增加。 我該怎么辦?
public override void OnStart()
{
dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject(File.ReadAllText("QCM.js"));
int pos = 0;
Timer aTimer = new Timer(2000);
aTimer.Elapsed += (sender, e) => SendData(pos, data);
pos++;
aTimer.Start();
static void SendData (int pos, dynamic data)
{
PackageHost.WriteInfo(data.Data[pos].Label);
}
pos
變量被lambda捕獲,您可以使用
aTimer.Elapsed += (sender, e) => SendData(pos++, data);
//pos++;
將pos
設為靜態變量,然后在SendData
對其進行遞增。
當數據用完時,請確保結束計時器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.