文件在c#中逐行读取

时间:2016-01-06 22:52:18

标签: c# readfile

我正在从文本文件input.txt中读取2个输入。我有文本文件

  

12#15#

     

17#71#

     

18#15#

我使用过这种语法,但它只读取最后一行。为什么它不起作用?什么是读取直线的最佳循环条件,如12 + 15和显示27并读取下一行17 + 71并显示88和最后处理

            StreamReader reader = new StreamReader("input.txt");
            string line;
            int count = 0;
            while ((line = reader.ReadLine()) != null)
            {
                string[] splitted = line.Split('#');
                string first = splitted[0].Trim();
                string second = splitted[1].Trim();
                x = Convert.ToInt32(first);
                y = Convert.ToInt32(second);

1 个答案:

答案 0 :(得分:0)

一般回答 您应该附加到文本框,但是在每次循环迭代中都会覆盖它。

我建议将txtSum.Text赋值移出循环,只运行一次,因为txtSum.set_Text是涉及图形重绘的操作并且价格昂贵。

<强>示例

try
{
    StreamReader reader = new StreamReader("input.txt");
    string line;
    StringBuilder sum = new StringBuilder();
    int count = 0;
    while ((line = reader.ReadLine()) != null)
    {
        string[] splitted = line.Split('#');
        string first = splitted[0].Trim();
        string second = splitted[1].Trim();
              sum.Append(first).Append(second);

    }
        txtSum.Text = sum.ToString();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}