2016-01-18 57 views
-1

我希望用户能够选择以某种方式写入的文本文件(每行1个数字),然后将文件转换为数组。我有一些零碎的工作,但我无法在同一时间完成所有工作。任何帮助,将不胜感激。将文件导入数组

private void Load_Button_Click(object sender, EventArgs e) 
    { 

     int counter = 0; 
     string line; 
     List<int> list = new List<int>(); 
     string fileName = ""; 

     //OpenFileDialog ofd = new OpenFileDialog(); 
     //ofd.Filter = "TXT File|*.txt"; 
     //ofd.Title = "Open File"; 

     // if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     // { 
     File_Label.Text = "C:/Users/Neilan/Desktop/sample.txt"; 
      //fileName = "@" + ofd.SafeFileName; 

     //MessageBox.Show(ofd.FileName); 

     System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Neilan\Desktop\sample.txt"); 


      while ((line = file.ReadLine()) != null) 
      { 
       Unsorted_Box.Text += line + ", "; 
       //list.Add(int.Parse(fileName)); 
       counter++; 
      } 
      dataArray = list.ToArray(); 

     // } 

    } 
+0

该文件如何看起来像?什么是你的预期产量? –

+0

这不应该被标记为重复的,因为它比其他问题早两天 –

回答

1

这个问题可以通过一行

var resultArray = Array.ConvertAll(System.IO.File.ReadAllLines("filename.type"), str => int.Parse(str)); 

而是 “filename.type” 来解决,你可以把类似File_Label.Text

2

你可以做到这一点。

var numberarray = File.ReadAllLines("stringpath").Select(int.Parse).ToArray(); 

看着你的代码,我想你想以逗号分隔的格式显示这些值给用户。您可以通过以下代码片段来实现此目的。

Unsorted_Box.Text = String.Join(",", numberarray.ToArray()); 

希望这有助于!