2013-04-16 51 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[]的对象。

相关问题