2016-04-02 52 views
-2

如何輸入文本多維數組

亞歷NAME

倫敦市的一個文本文件

英格蘭國家

我想將其存儲在一個多維數組

string[,] tokened = new string[3, 2]; 
     int i = 0, j = 0; 
     string[] input = File.ReadAllLines(@"D:\abc.txt"); 
     foreach (string line in input) 
     { 
      foreach (var row in line.Split('\n')) 
      { 
       foreach (var col in row.Trim().Split(' ')) 
       { 
        tokened[i, j] = Convert.ToString((col.Trim())); 
        j++; 
       } 
       i++; 
      } 
     } 

我已經寫了這段代碼,但不會工作。

+0

'但不會work.'爲什麼?有什麼錯誤?例外?意外的結果? – Eser

+0

你的第一個分割需要逐行閱讀。有關https://msdn.microsoft.com/en-us/library/ezwyzy7b.aspx的信息,請參閱MSD –

+0

輸入字符串格式不正確。在這條線上 tokened [i,j] = Convert.ToString(int.Parse((col.Trim()))); –

回答

0

你可以嘗試:

 var numberOfRecords = 3; 
     var numberOfFields = 2; 
     var columnDelimeter = ' '; 
     var lineSeparator = "\r\n\r\n"; 
     var tokened = new string[numberOfRecords, numberOfFields]; 
     var input = System.IO.File.ReadAllText(@"d:\abc.txt"); 
     var lines = input.Replace(lineSeparator, "|").Split('|').ToArray(); 
     //loop through rows 
     for (var row = 0; row < lines.Length; row++) 
     { 
      //split the columns with a space 
      var cols = lines[row].Split(columnDelimeter).ToArray(); 
      for(var col = 0; col < numberOfFields; col++) 
      { 
       tokened[row, col] = cols[col]; 
      } 
     }