将文件导入到数组

时间:2016-01-18 02:43:37

标签: c# arrays file

我希望用户能够选择以某种方式编写的文本文件(每行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();

       // }

    }

2 个答案:

答案 0 :(得分:2)

你可以这样做。

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

查看您的代码,我想您希望以逗号分隔格式向用户显示这些值。您可以使用以下代码段来实现此目的。

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

希望这有帮助!

答案 1 :(得分:1)

这个问题可以通过一行来解决

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

您可以输入File_Label.Text

之类的内容,而不是“filename.type”