我有一个保存在JSON文件中的问题列表。我想每10秒发送一个不同的问题。我每10秒启动一次计时器,但int "position“不能每次都递增。我该怎么做?
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);
}发布于 2017-02-11 20:46:43
pos变量由lambda捕获,您可以使用
aTimer.Elapsed += (sender, e) => SendData(pos++, data);
//pos++;发布于 2017-02-11 20:27:25
在SendData中将该pos设置为静态变量并递增。
当数据用完时,一定要结束计时器。
https://stackoverflow.com/questions/42175819
复制相似问题