首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c# -每次使用不同参数的计时器

c# -每次使用不同参数的计时器
EN

Stack Overflow用户
提问于 2017-02-11 20:23:51
回答 2查看 74关注 0票数 1

我有一个保存在JSON文件中的问题列表。我想每10秒发送一个不同的问题。我每10秒启动一次计时器,但int "position“不能每次都递增。我该怎么做?

代码语言:javascript
复制
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);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-11 20:46:43

pos变量由lambda捕获,您可以使用

代码语言:javascript
复制
aTimer.Elapsed += (sender, e) => SendData(pos++, data); 
//pos++;
票数 4
EN

Stack Overflow用户

发布于 2017-02-11 20:27:25

SendData中将该pos设置为静态变量并递增。

当数据用完时,一定要结束计时器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42175819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档