c# - 每次具有不同参数的计时器

标签 c# loops timer

我有一个保存在 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);
}

最佳答案

pos变量被lambda捕获,你可以使用

aTimer.Elapsed += (sender, e) => SendData(pos++, data); 
//pos++;

关于c# - 每次具有不同参数的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175819/

相关文章:

c# - 保护 web.config 设置

php在数组上循环以计算数据库中的条目

javascript - 遍历每个数据为 : for loop vs . 的数组的 javascript 数组

java - 我可以在一类应用程序中使用两个 swing 计时器在 JPanel 上执行异步任务吗?

c# - WP7 中的 Protobuf-net 抛出 FieldAccessExceptions

c# - Visual Studio 在调试结束时清除输出文件

c# - DataGridView 过滤器隐藏已编辑的项目

c++ - 如何将 CSV 文件导入 QTableWidget

javascript - 在 JavaScript/Node.js 中定时发送内容

android - android中有定时器功能吗? (不是 java.util.Timer)