Pregunta

¿Cómo puedo recorrer líneas desde un Lector de texto source?

Lo intenté

foreach (var line in source)

Pero tengo el error

La declaración foreach no puede operar en variables de tipo 'System.IO.TextReader' porque 'System.IO.TextReader' no contiene una definición pública para 'GetEnumerator'

¿Fue útil?

Solución

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

Otros consejos

Puedes usar File.ReadLines cual es ejecución diferida método, luego recorre las líneas:

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

Más información:

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

Puedes probar con este código, basado en 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top