public double[,] ReadTxttest(string Path) { //初始化二維數組 double[,] array = new double[30000,25]; int i = 0; // 新建一個DataTable DataTable tb = new DataTable(); // 添加一列用於存放讀入的浮點數 DataColumn c = tb.Columns.Add("Value", typeof(double)); // 打開文件准備讀取數據 StreamReader rd = File.OpenText(@Path); string line; while ((line = rd.ReadLine()) != null) { // 拆分出一行的所有用空格分割的數據項 string[] values = line.Split(' '); //values為每行數據切割后的數組 // 將每個數據項轉換成浮點數,並存入DataTable foreach (string s in values) //s為行內元素 { if (!string.IsNullOrEmpty(s)) { // 轉換成浮點數 double v = double.Parse(s); // 存入DataTable DataRow r = tb.NewRow(); r["Value"] = v; tb.Rows.Add(v); } } //計算每行的數據量 Console.WriteLine(tb.Rows.Count); int j = 0; // 列數 //輸出DataTable中保存的數組 foreach (DataRow r in tb.Rows) { var k = (double)r["Value"];//獲取行內元素 if (!string.IsNullOrEmpty(k.ToString())) { array[i, j] = k; Console.WriteLine(i.ToString() +"--" +j.ToString() + "--" + k.ToString()); } else { array[i, j] = 1.23456; } j = j + 1; } // Console.WriteLine("行數是:" + tb.Rows.Count); //清除每行數據 tb.Rows.Clear(); i = i + 1; } rd.Close();//讀取數據完畢,關閉文件 return (array); }