Как перебрать строки из TextReader?

Как перебирать строки из TextReader source?

Я пробовал

foreach (var line in source)

Но получил ошибку

Оператор

foreach не может работать с переменными типа "System.IO.TextReader", потому что "System.IO.TextReader" не содержит общедоступного определения для "GetEnumerator"

Ответ 1

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

Ответ 2

Вы можете использовать File.ReadLines, который является отложенным методом выполнения, а затем петля через строки:

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

Дополнительная информация:

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

Ответ 3

Вы можете попробовать с помощью этого кода - на основе 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;