当前位置:编程学习 > C#/ASP.NET >>

这段代码,大家帮我看看出了什么问题

        private  void button1_Click(object sender, EventArgs e)
        {
            title[0] = "请你选择你原数据文件。";
            title[1] = "请你选择你新数据文件。";
            for (int i = 0; i <2; i++)
            {
                OpenFileDialog openFileDialog1 = new OpenFileDialog();
                openFileDialog1.Title = title[i];
                string dir = @"D:\";
                openFileDialog1.InitialDirectory = dir;
                string filter = "所有文件(*.*)|*.*";
                openFileDialog1.Filter = filter;
                openFileDialog1.ShowDialog();
                openFileDialog1.Multiselect = false;
                if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                { 
                    MessageBox.Show("没有选择文件或者文件有误,请重新选择");
                    return;
                }// 提示出错信息
                else
                {
                    filepath = openFileDialog1.FileName;
                    if (i == 0)
                    {
                        Read_data(dian_old, ref dianold_line, filepath);
                    }
                    else
                    { Read_data(dian_new, ref diannew_line, filepath); }

                }

             }
        }

        public void Read_data(double[,] data1, ref int num, string filepath1) //读取文件,写入数组
        {
            
            string path = filepath1;
            string[] lines = File.ReadAllLines(path);
            num = lines.Length;
            for (int i = 0; i < num; i++)
            {
                string[] toks = lines[i].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
                System.Diagnostics.Debug.Assert(toks.Length == 4);



                for (int j = 0; j < 4; j++)
                {
                    bool succeeded = double.TryParse(toks[j], out data1[i, j]);
                    System.Diagnostics.Debug.Assert(succeeded);


                }
            }

        }

此段代码是要实现分别从两个数据文件中读取数据,然后写入到数组中去。红色的是已经定义好长度的二维数组,dian_old[5000,4],dian_new[5000,4],请问:
1.调用Read_data()方法后,这两个数组会不会分别返回更新?不会的话,又改怎样返回更新?
2.运行代码后,在打开文件读取时,会出现读取两次,也就是原数据文件—>原数据文件—>新数据文件—>新数据文件。请问是什么原因?
3.在打开文件后,想把读取到的文件的完整路径赋给filepath,然后传递给Read_data进行读取。请问是不是这样赋路径:filepath =openFileDialog1.FileName ?
  不是的话,又是怎样读取完整路径赋给filepath,再传递给Read_data进行读取。 --------------------编程问答-------------------- 逻辑有点混乱,有点复杂
换一种解决方案! --------------------编程问答-------------------- 可能是逻辑有点问题,但能否帮我解答上面提出的问题,谢啦谢!
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,