Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字典计时器_C#_Timer - Fatal编程技术网

C# 字典计时器

C# 字典计时器,c#,timer,C#,Timer,我已经创建了动态计时器。时间必须从字典中选取时间间隔。但是当我运行这个程序时,它说我的索引不存在。当y=0时,它就这么说了 var timer = new System.Windows.Forms.Timer(); int track = 0; int y = 0; timer.Tick += (object sender, EventArgs e) => { timer.Interval = pQueuValues[y]; if (track < nodenum

我已经创建了动态计时器。时间必须从字典中选取时间间隔。但是当我运行这个程序时,它说我的索引不存在。当y=0时,它就这么说了

var timer = new System.Windows.Forms.Timer();

int track = 0;
int y = 0; 
timer.Tick += (object sender, EventArgs e) =>
{
    timer.Interval = pQueuValues[y];
    if (track < nodenum)
    {
          txtOutput.Text += "\r\r\n" + "The Node name is:  " + normalQueuName[track] + "  With the priority:  " + pQueuValues[track];
           ++track;
     }  
     else
     {
           timer.Stop();
     }
  };

 timer.Start();
var timer=new System.Windows.Forms.timer();
int轨道=0;
int y=0;
timer.Tick+=(对象发送者,事件参数e)=>
{
定时器间隔=pquev值[y];
中频(磁道<节点数)
{
txtOutput.Text+=“\r\r\n”+”节点名称为:“+normalQueuName[track]+”,优先级为:“+pQueuValues[track];
++轨道;
}  
其他的
{
timer.Stop();
}
};
timer.Start();

使用
int
作为键类型时,字典按键索引,而不是按元素的数字位置索引。因此,如果没有键值为0的元素,它将失败。您可以使用
ElementAt
方法,该方法将使用位置索引:

timer.Interval = pQueuValues.ElementAt(y).Value;

你们做了什么基本调试?不,这是大程序的一部分。它拒绝接受值0pQueuValues的唯一内容是空的。