我列出了一些保存在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);
}
答案 0 :(得分:4)
lambda捕获pos
变量,你可以使用
aTimer.Elapsed += (sender, e) => SendData(pos++, data);
//pos++;
答案 1 :(得分:0)
将pos
设为静态变量,并在SendData
中递增。
确保在数据用完时结束计时器。