如何解决这个错误:索引超出了数组的范围

时间:2012-10-05 06:34:24

标签: c#

我使用List来存储值,如果数据有限,它的工作正常,如果数据超过15o的数量,那么我得到以下错误 索引超出了数组的范围...... Plz提出了克服这个问题的想法。

List<string> code = new List<string>();
private void btn_browse_Click(object sender, EventArgs e)
{
    DialogResult fileopen = openFileDialog1.ShowDialog();
    string filename = openFileDialog1.FileName;           
    txt_filename.Text = filename;
    try
    {
        StreamReader readtxtfile = new StreamReader(filename);
        String line = null;

        string str = null;
        char[] separate = { ',' };
        string[] words;
        while ((str = readtxtfile.ReadLine()) != null)
        {
            words = str.Split(separate);                        
            code.Add(Convert.ToString(words[0]) + '-' + Convert.ToString(words[2]).Trim());  
        }                    
    }

2 个答案:

答案 0 :(得分:1)

没有代码可以帮助您查看。

检查以确保indexOutOfBounds错误来自您的列表,而不是您的拆分字符串。

答案 1 :(得分:1)

此错误不是因为您的列表,而是来自您的数组“单词”。首先检查这个数组的长度

 words = str.Split(separate);  
 if(words.Length>2) 
 {                     
   code.Add(Convert.ToString(words[0]) + '-' + Convert.ToString(words[2]).Trim());  
 }

确保每当数组的长度小于2时,它就不会添加到列表中。

希望这会有所帮助......