2013-04-16 66 views
0

我想根據文件中的行有一個數組,但此刻它是一個固定大小的數組:分割的文件一行一行到一個數組

string[] converList = new string[6]; // Array containing TXT lines 

讀文件:

void ReadConver() 
    { 
     string line; 
     int i = 0; 

     System.IO.StreamReader file = 
      new System.IO.StreamReader("C:\\Users\\Kennyist\\Documents\\Visual Studio 2010\\Projects\\soft140as3\\convert.txt"); 
     while ((line = file.ReadLine()) != null) 
     { 
      converList[i] = line; 
      i++; 
     } 
    } 

我該怎麼做?

回答

6

您可以創建一個列表,然後使用ToArray的將它做成一個數組:

var cList = File.ReadAllLines("C:\\Users\\Kennyist\\Documents\\Visual Studio 2010\\Projects\\soft140as3\\convert.txt").ToList(); 
string[] converlist = clist.ToArray(); 

此外,使用(@'C:\Kennyist...')代替雙反斜線

+0

那麼這太簡單了,在谷歌上找到類似的東西,但之前我得到了一個錯誤。謝謝! – Kennyist

+3

'ReadAllLines'的結果已經是一個數組。無需在其上使用LINQ'ToArray'擴展方法。 –

0

編輯答案:

string[] converList; 
    System.IO.StreamReader file = 
    new System.IO.StreamReader("C:\\Users\\Kennyist\\Documents\\Visual Studio 2010\\Projects\\soft140as3\\convert.txt"); 


    converList = new string[] { file.ReadToEnd() }; 

謝謝@科爾

+0

這是如何回答OP的問題?他想要將文件讀入數組中。這只是創建了一個空'數組'長度0. –

+0

你不明白.NET,是嗎? 'new T []'創建一個大小爲0的數組。 –

+0

@ColeJohnson哦,我的錯,我現在明白了,對不起,我是新的泛型函數,我使用列表而不是數組,也許它會工作,如果它會是'string [] converList;' – Pyromancer

3

而不是硬的做法,y OU可以只使用:

var arrTextLines = File.ReadAllLines(@"C:\Users\Kennyist\Documents\Visual Studio 2010\Projects\soft140as3\convert.txt"); 

arrTextLines將與類型string[]的對象。

相關問題