我在串口接收的模块里面用for循环写了在chart里绘制曲线的代码
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//这边的changdu是我代码中的一个数组的长度,我想用遍历数组来输出曲线
for(int k=changdu; k>=1;k--)
{
chart1.Series[0].Points.AddXY(k, file[k - 1]);
chart1.Series[0].BorderWidth = 2;
chart1.Series[0].Color = Color.Blue;
chart1.ChartAreas[0].AxisX.Title = "道址";
chart1.ChartAreas[0].AxisY.Title = "计数率";
}
}
但遇到了集合已修改;可能无法执行枚举操作的错误
提示错误的地方是哪一句代码。
有没有别的线程,主线程关闭但是别的线程调用就会出现这个错误。
遇到问题,第一件事是先定位
找到到底哪一行代码出错
把怀疑出错的代码行加上try,在catch里设置断点,然后逐步缩小范围,直到能够定位到出错的那一行
你这胡乱找段代码出来就说是它出错,有可能白费功夫
此外,chart1.Series[0].Points本身也是个集合,报错也不是说一定是数组报错