Pergunta

Como faço para fazer um loop através de linhas de um TextReader source?

Eu tentei

foreach (var line in source)

Mas tenho o erro

instrução foreach não pode operar em variáveis do tipo 'System.IO.TextReader' porque 'do Sistema.IO.TextReader' não contém uma definição de público para 'GetEnumerator'

Foi útil?

Solução

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

Outras dicas

Você pode usar File.ReadLines o que é diferidos de execução método e, em seguida, loop thru linhas:

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

Mais informações:

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

Você pode tentar com este código, com base no 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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top