如何从TextReader循环遍历行?

时间:2012-10-02 09:08:56

标签: c# .net textreader

如何循环TextReader source

中的行

我试过

foreach (var line in source)

但得到了错误

  

foreach语句无法对“System.IO.TextReader”类型的变量进行操作,因为“System.IO.TextReader”不包含“GetEnumerator”的公共定义

3 个答案:

答案 0 :(得分:40)

string line;
while ((line = myTextReader.ReadLine()) != null)
{
    DoSomethingWith(line);
}

答案 1 :(得分:17)

您可以使用延迟执行方法的File.ReadLines,然后循环直线:

foreach (var line in File.ReadLines("test.txt"))
{
}

更多信息:

http://msdn.microsoft.com/en-us/library/dd383503.aspx

答案 2 :(得分:3)

您可以尝试使用此代码 - 基于ReadLine method

        string line = null;
        System.IO.TextReader readFile = new StreamReader("...."); //Adjust your path
        while (true)
        {
            line = readFile.ReadLine();
            if (line == null)
            {
                break;    
            }
            MessageBox.Show (line);
        }
        readFile.Close();
        readFile = null;