如何从TextReader循环遍历行?

如何从TextReader source循环遍历行?

我试过了

 foreach (var line in source) 

但得到了错误

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

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

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

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

更多信息:

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

您可以尝试使用此代码 – 基于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;