2016-01-18 4 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()); 

Надеюсь, это поможет!

Смежные вопросы