2012-01-03 15 views

Respuesta

12

Por supuesto que sí. Solo use simplemente leer una sola línea (usando ReadLine() o lo que le plazca) a la vez dentro de un bucle for (si sabe al comienzo de la lectura cuántas líneas necesita) o dentro de un bucle while (si desea detenerlo) leyendo cuando llegue al EOF o una determinada entrada).

EDIT:

Claro:

while ((line = Console.ReadLine()) != null) { 
    // Do whatever you want here with line 
} 
+0

No sé cómo hacerlo con while loop, ¡no sé cómo comprobar si hay una línea siguiente o no! Algunos consejos o un ejemplo, por favor! – nenito

+1

Ok. Ver la edición a la publicación anterior. – Dan

+0

Gracias, es útil, pero ¿cómo puedo determinar qué línea es la última? Actualmente, el programa esperará una nueva entrada de línea. – nenito

1

Lo mejor que puede hacer es utilizar un bucle:

string input; 

Console.WriteLine("Input your text (type EXIT to terminate): "); 
input = Console.ReadLine(); 

while (input.ToUpper() != "EXIT") 
{ 
    // do something with input 

    Console.WriteLine("Input your text(type EXIT to terminate): "); 
    input = Console.ReadLine(); 
} 

O usted podría hacer algo como esto:

string input; 

do 
{ 
    Console.WriteLine("Input your text (type EXIT to terminate): "); 
    input = Console.ReadLine(); 

    if (input.ToUpper() != "EXIT") 
    { 
     // do something with the input 
    } 
} while (input.ToUpper() != "EXIT"); 
1

ejemplo sencillo:

class Program 
{ 
static void Main() 
{ 
CountLinesInFile("test.txt"); // sample input in file format 
} 

static long CountLinesInFile(string f) 
{ 
long count = 0; 
using (StreamReader r = new StreamReader(f)) 
{ 
    string line; 
    while ((line = r.ReadLine()) != null) 
    { 
    count++; 
    } 
} 
return count; 
} 
} 
2

Algunas de las otras respuestas aquí bucle hasta una línea nula se encontró mientras que otros esperan que el usuario escriba algo especial como "EXIT". Tenga en cuenta que la lectura de la consola podría ser una persona que escribe o un archivo de entrada redirigida:

myprog.exe < somefile.txt 

En el caso de Console.ReadLine entrada redirigida() devolvería nula cuando llega al final del archivo. En el caso de un usuario que ejecuta el programa interactivamente, debe saber cómo ingresar el carácter de fin de archivo (Ctrl + Z seguido de enter o F6 seguido de enter). Si se trata de un usuario interactivo, es posible que deba informarles cómo indicar el final de la entrada.

Cuestiones relacionadas