代码如下:原本程序运行的好好的,今天不知怎么的提示出错了,怎么解决?
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,就不会有这样的问题了。