Прочитайте текстовый файл, разделите его, затем покажите в listBox - PullRequest
0 голосов
/ 16 марта 2020

Мне нужно прочитать текстовый файл, содержащий отметки времени и температуры. Дело в том, что мне нужно только показывать температуры в списке, разделяя строку перед ее отображением. Пока мне удалось показать текстовый файл в списке, но я борюсь с удалением временных меток.

Мой код:

     public partial class Form1 : Form           
     {
        OpenFileDialog openFile = new OpenFileDialog();
        string line = "";

        private void button1_Click(object sender, EventArgs e)
        {
            if (openFile.ShowDialog() == DialogResult.OK)
            {
                StreamReader sr = new StreamReader(openFile.FileName);
                while(line != null)
                {
                    line = sr.ReadLine();
                    if(line != null)
                    {
                        string[] newLine = line.Split(' ');
                        listBox1.Items.Add(newLine);
                    }
                }
                sr.Close();
            }
        }

Теперь listBox показывает только массив String [] , О, а также мне нужно включить это в мой код:

const int numOfTemp = 50;
double dailyTemp[numOfTemps];

Текстовый файл в следующем формате: 11:11:11 -10,50

1 Ответ

0 голосов
/ 16 марта 2020

Вы должны взять [1] элемент массива после Split:

    using System.Linq;

    ...

    private void button1_Click(object sender, EventArgs e)
    {
        if (openFile.ShowDialog() != DialogResult.OK)
          return;

        var temps = File
          .ReadLines(openFile.FileName)
          .Select(line => line.Split(' ')[1]); // we need temperature only

        try {
          listBox1.BeginUpdate();

          // In case you want to clear previous items
          // listBox1.Items.Clear();

          foreach (string temp in temps) 
             listBox1.Items.Add(temp);
        }
        finally {
          listBox1.EndUpdate();
        } 
    }
...