qq_37292575
_十_七_
2020-05-28 17:22

请问C#中队列的操作方法Queue.ElementAt(int index);会修改元素值吗,

  • c#
  • microsoft
  • visual studio

程序提示我集合在枚举数实例化后进行了修改,我百度说是在遍历的过程中修改了元素值,抛异常的代码如下:

for (int i = 0; i < dataQueue.Count; i++)
{
chart1.Series[0].Points.AddY(dataQueue.ElementAt(i));
}
请问一下是因为哪个地方修改了元素值导致抛这个异常啊
完整代码如下:
public void AddData(int[] Data1, int[] Data2)//Data1包含从串口传入的数据
{
for (int i = 0; i < Data1.Length; i++)
{
dataQueue.Enqueue(Data1[i]);

}
}
另一段是:
public void Draw()
{
chart1.Series[0].Points.Clear();
if (dataQueue.Count > 500)
dataQueue.Dequeue();//Dequeue()返回队列第一个数据并移除,原先队列的第二个数据变为第一个
for (int i = 0; i < dataQueue.Count; i++)
{
chart1.Series[0].Points.AddY(dataQueue.ElementAt(i));
}
}
这两个操作队列的操作分别在不同的子函数里

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答