2012-10-02 30 views
10

如何循环从TextReadersource的行?如何循环通过TextReader的行?

我试图

foreach (var line in source) 

但得到的错误

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

+1

的http:// stackoverflow.com/questions/286533/filestream-streamreader-problem-in-c-sharp –

+1

什么都不起作用? –

+0

甚至http://stackoverflow.com/questions/1271225/c-sharp-reading-a-file-line-by-line也。 – dash

回答

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

非常有帮助。第一次在这样的循环中看到作业和检查;我不会想到这样做。 –

4

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

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

我不明白你如何摆脱while循环... – flq