日期:2014-05-18  浏览次数:20701 次

代码如下:原本程序运行的好好的,今天不知怎么的提示出错了,怎么解决?
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 ,索引超出了数组界限。之前不会的啊???????求解?

------解决方案--------------------
string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
foreach (string line in lines)
{
------解决方案--------------------
for (int i = 1; i < lines.Length; i++)
考虑一下
 for (int i = 0; i < lines.Length; i++)



------解决方案--------------------
以后用foreach取代for,就不会有这样的问题了。