发生未知索引超出范围异常

时间:2019-07-22 08:55:59

标签: c# arrays dictionary for-loop settings

我的项目运行正常,然后突然我得到了索引超出范围的异常,而没有进行任何更改。我不知道发生了什么,但是我能够将数据添加到数组,但是现在我无法将数据添加到数组。

我试图更改周围的数字以更改数组,但是没有解决方案。我确实将代码的旧版本替换了,然后错误消失了,然后在几次测试我的程序后突然返回错误。

Dictionary<string, string> dictColorSettings = new Dictionary<string, string>();
            StreamReader srColorSettings = new StreamReader("ColorSettings.txt");
            string[] strColorData;
            for (int c = 1; c <= 12; c++)
            {
                strColorData = srColorSettings.ReadLine().Split('|');
                dictColorSettings.Add(strColorData[0], strColorData[1]);
            }
            srColorSettings.Close();
            int buttonNum = 0;
            foreach (KeyValuePair<string, string> kvp in dictColorSettings)
            {
                string colorCode = kvp.Value;
                Color clrBarColor = Color.Black;
                try
                {
                    int argb = Int32.Parse(colorCode.Replace("#", ""), System.Globalization.NumberStyles.HexNumber);
                    clrBarColor = Color.FromArgb(argb);
                }
                catch (System.Exception excp)
                {

                }
                Controls[kvp.Key].BackColor = clrBarColor;
                if (buttonNum == 10)
                {
                    Controls["btnColorButtonMinus"].ForeColor = clrBarColor;
                }
                else if (buttonNum == 11)
                {
                    Controls["btnColorButtonPlus"].ForeColor = clrBarColor;
                }
                else
                {
                    Controls["btnColorButton" + (buttonNum).ToString()].ForeColor = clrBarColor;

                }
                ++buttonNum;
            }

给出错误的行是“ dictColorSettings.Add(strColorData [0],strColorData [1]);”。这是一种奇怪的情况,因为以前从来没有给我一个错误,而现在却没有。

0 个答案:

没有答案