¿Porque mi ciclo Foreach no funciona (C#)?

Tengo este codigo:

        string linea;      
        public void datos()
        {
            StreamReader lector = new StreamReader("c:\\CARPETA\\ARCHIVO.txt");
            ArrayList lista_    = new ArrayList();
            while(linea != null)
            {                           
                if (linea != null)
                    lista_.Add(linea);              
            }
            lector.Close();   
            foreach(string cad2 in lista_)
            {
                MessageBox.Show(cad2);
            }            
        }

Se supone que este codigo leé y muestra las lineas de texto que hay en un archivo .txt.

No me da ningun error al compilar y ejecutar, pero el ciclo foreach (que es el encargado de mostrar uno por uno los elementos que hay en el archivo de texto) no muestra nada.

Si les es posible ayudarme se los agradeceria mucho! :)

Respuesta
1

No hace nada porque literalmente no tiene nada que iterar.

Fíjate que inicializas la variable linea pero no haces nada con ella.

Entonces cuando llega a la parte de

while(linea != null){...}

La variable linea si que vale null por lo que se salta el while.

1 respuesta más de otro experto

Respuesta
1

FYI

                    StreamReader lector = new StreamReader("c:\\Temp\\Dociembre _20180806163732141.log");
                    string linea = "";
                    int contadorLineasArchivo = 0;
                    contadorLineasArchivo = File.ReadAllLines("c:\\Temp\\Dociembre _20180806163732141.log").Length;
                    ArrayList lista_ = new ArrayList();
                    for (int i = 0; i <= contadorLineasArchivo; i++)
                    {
                        if (i != contadorLineasArchivo)
                        {
                            lista_.Add(lector.ReadLine());
                        }
                    }
                    lector.Close();
                    foreach (string cad2 in lista_)
                    {
                        //MessageBox.Show(cad2);
                        Console.WriteLine(cad2);
                    }

http://www.itixmih.wordpress.com
jemp_intrepido
jempdulintre
jemp_dulce

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas