Esiste una funzione che può leggere una singola riga dall'ingresso della console (Console.ReadLine()
), ma desidero leggere o un numero arbitrario di righe, che è sconosciuto al momento della compilazione.È possibile leggere un numero sconosciuto di righe dalla console in C#?
risposta
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
}
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");
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;
}
}
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.
- 1. È possibile leggere dalla console in Dart?
- 2. Come leggere un input molto lungo dalla console in C#?
- 3. Leggere un numero indefinito di righe dall'ingresso standard
- 4. Come leggere l'input dalla console in un file batch?
- 5. È possibile leggere dalla console con scansione senza eco i caratteri?
- 6. Shell MongoDB: leggere una riga dalla console
- 7. È possibile ottenere un simbolo di copyright nell'applicazione console C#?
- 8. Come leggere il numero di righe in UITextView
- 9. Python: leggere un numero enorme di righe dallo stdin
- 10. Importare dati in R con un numero sconosciuto di colonne?
- 11. Funzione con numero sconosciuto di parametri in C
- 12. È possibile simulare l'API di Windows Console?
- 13. C++ Puntatori di funzione con numero sconosciuto di argomenti
- 14. R: creazione di una matrice con un numero sconosciuto di righe
- 15. È possibile evitare errori 403 dalla registrazione alla console Web?
- 16. È possibile utilizzare read_csv per leggere solo righe specifiche?
- 17. È possibile leggere un file in fase di compilazione?
- 18. Attendi un numero sconosciuto di futuri
- 19. è possibile scrivere su console senza stdlibs? c/C++
- 20. È possibile utilizzare HttpBrowserCapabilities da un'applicazione console C#?
- 21. Modulo Windows dalla console
- 22. Cambiare il tipo di un campo MongoDB in numero intero dalla sua console
- 23. come ottenere un elenco di tutte le costanti che è possibile ottenere dalla console di rotaie
- 24. È possibile ottenere il numero di righe in un file CSV senza aprirlo?
- 25. È possibile leggere un data.table da PostgreSQL?
- 26. Iterating su un numero sconosciuto di loop nidificati in python
- 27. 'Exiting' (ctrl + c) un processo dalla console - Eclipse vs Intellij
- 28. GHCi su Windows: come leggere l'input Unicode dalla console?
- 29. Aggiunta di un numero sconosciuto di righe a "Celle statiche" UITableView
- 30. Come leggere un singolo carattere dalla console in Java (mentre l'utente lo digita)?
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
Ok. Vedi la modifica al post di cui sopra. – Dan
Grazie, è utile, ma come potrei determinare quale linea è l'ultima? Attualmente il programma attenderà un nuovo input di linea. – nenito