private void btnSelProp_Click(object sender, EventArgs e)
        {
            OpenFileDialog file = new OpenFileDialog();
            file.Filter = "文档(*.csv)|*.csv";
            if (file.ShowDialog() == DialogResult.OK)
            {
                
                DataTable dt = new DataTable();
                dt.Columns.Add("状态", typeof(String));
                dt.Columns.Add("匹配方法新", typeof(String));
                dt.Columns.Add("匹配方法旧", typeof(String));
                dt.Columns.Add("序号", typeof(String));
                dt.Columns.Add("名称", typeof(String));
                dt.Columns.Add("地址", typeof(String));
                dt.Columns.Add("区划代码", typeof(String));                string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
                for (int i = 1; i < lines.Length; i++)
                {
                    string[] data = lines[i].Split(',');
                    DataRow dr = dt.NewRow();
                    dr[3] = data[0];
                    dr[4] = data[1];
                    dr[5] = data[2];
                    dr[6] = data[3];
                    dt.Rows.Add(dr);
                }
                this.dataGridView1.DataSource = dt;
            }
        }
    }
}
点击按钮后,打不开文件,出现提示:未处理的IndexOutOfRangeException  ,索引超出了数组界限。之前不会的啊???????求解?

解决方案 »

  1.   

    string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
      foreach (string line in lines)
      {
      

  2.   

     for (int i = 1; i < lines.Length; i++)
    考虑一下
     for (int i = 0; i < lines.Length; i++)
      

  3.   

    string[] data = lines[i].Split(',') 数组越界了。
      

  4.   

    以后用foreach取代for,就不会有这样的问题了。
      

  5.   

    现在有可以了,真搞不懂。再出现的话,我试试用foreach。谢谢各位