2012-01-03 8 views

risposta

12

Ovviamente lo è. Basta usare una sola riga (usando ReadLine() o qualsiasi altra cosa per favore) alla volta all'interno di un ciclo for (se sai all'inizio di quante righe hai bisogno) o in un ciclo while (se vuoi fermarti lettura quando si raggiunge EOF o un determinato input).

EDIT:

Certo:

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

Non so come farlo con il ciclo while, non so come controllare se c'è una linea successiva o no! Alcuni suggerimenti o un esempio, per favore! – nenito

+1

Ok. Vedi la modifica al post di cui sopra. – Dan

+0

Grazie, è utile, ma come potrei determinare quale linea è l'ultima? Attualmente il programma attenderà un nuovo input di linea. – nenito

1

La cosa migliore da fare è utilizzare un ciclo:

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(); 
} 

Oppure si potrebbe fare qualcosa di simile:

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

semplice esempio:

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

Alcune delle altre risposte qui di loop fino a quando si incontra una linea di nulla, mentre gli altri si aspettano che l'utente digita qualcosa di speciale come "EXIT". Tenete a mente che la lettura dalla console potrebbe essere sia una persona digitando o un file di input reindirizzato:

myprog.exe < somefile.txt 

Nel caso di Console.ReadLine ingresso reindirizzato() restituirà null quando si raggiunge la fine del file. Nel caso in cui un utente esegua il programma in modo interattivo, dovrebbe sapere come inserire il carattere finale del file (Ctrl + Z seguito da invio o F6 seguito da invio). Se si tratta di un utente interattivo, potrebbe essere necessario fargli sapere come segnalare la fine dell'input.

Problemi correlati