从文本文件中解析行

Parsing lines from text file

我正在从同一个文本文件 input.txt 中读取 2 个输入参数,它们使用 '#' 分隔,例如:

12#15

17#77

31#12

我使用过这种语法,但它读取最后一行 only.why 它不起作用?读取 line bye line 的最佳循环条件可能是 12+15 并显示 27 并读取下一行 17+71 并显示 88 并处理 last

            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);

请帮助我了解 StreamReader 语法。

简而言之,您可以使用 StreamReader 读取文件的行,然后使用 string.Split()int.Parse() 方法提取数据。

您可以使用 StreamReader.

将文件读入字符串
string text;
using (StreamReader sr = new StreamReader("file.txt"))
    text = sr.ReadToEnd();
string[] parts = text.Replace("\r", string.Empty).Split('#', '\n');
txtA.Text = (int.Parse(parts[0]) + int.Parse(parts[1]).ToString();
txtB.Text = (int.Parse(parts[2]) + int.Parse(parts[3]).ToString();