C# Chart 数据绑定超出数组索引错误及解决方法

在使用 C# 的 Chart 控件进行数据绑定时,经常会遇到超出数组索引的错误。例如以下代码:

QualificationChart.Series['Series1'].Points.DataBindXY(xValues, yValues);
foreach (DataPoint point in QualificationChart.Series[0].Points)
{
    for (int i = 0; i < xValues.Length + 1; i++)
    {
        if (point.AxisLabel == xValues[i])
        {
            point.LegendText = yValues[i].ToString();
        }
    }
}

这段代码尝试将 xValuesyValues 数组绑定到 Chart 控件的 Series1 中,并根据 xValuesyValues 的对应关系设置数据点的 LegendText 属性。然而,当 i 等于 xValues.Length 时,会发生超出数组索引的错误,因为数组索引从 0 开始,而长度从 1 开始计数,所以长度为 n 的数组最后一个元素的索引为 n-1,而不是 n。

解决方法:

修改 for 循环的条件语句,将 i < xValues.Length + 1 改为 i < xValues.Length,即可解决此问题。

for (int i = 0; i < xValues.Length; i++)
{
    if (point.AxisLabel == xValues[i])
    {
        point.LegendText = yValues[i].ToString();
    }
}

通过以上修改,代码可以正确地遍历 xValues 数组,避免超出数组索引的错误。

总结:

在使用数组时,一定要注意索引的范围,避免超出数组索引的错误。同时,也要注意数组的长度和元素个数之间的区别。

C# Chart 数据绑定超出数组索引错误及解决方法

原文地址: https://www.cveoy.top/t/topic/mwAr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录