Hay una función que puede leer una sola línea de la entrada de la consola (Console.ReadLine()
), pero deseo leer o algunas líneas arbitrarias, que se desconocen en tiempo de compilación.¿Es posible leer un número desconocido de líneas desde la consola en C#?
Respuesta
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
}
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");
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;
}
}
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.
- 1. ¿Es posible leer desde la consola en Dart?
- 2. ¿Cómo leer una línea desde la consola en C?
- 3. ¿Es posible utilizar HttpBrowserCapabilities desde una aplicación de consola C#?
- 4. Leer desde la consola en F #
- 5. ¿Es posible leer desde la consola con escaneo sin repetir los caracteres?
- 6. Lee un número indefinido de líneas desde la entrada estándar
- 7. ¿Forma idiomática de escribir el código de Clojure para leer líneas repetidamente desde la consola?
- 8. Función con un número desconocido de parámetros en C
- 9. C++ Punteros de función con un número desconocido de argumentos
- 10. ¿Es posible usar read_csv para leer solo líneas específicas?
- 11. ¿Es posible leer desde una URL a un objeto System.IO.Stream?
- 12. Cómo leer el número de líneas en UITextView
- 13. ¿Es posible obtener gcc para leer desde una tubería?
- 14. PDO vinculan un número desconocido de parámetros?
- 15. Windows desde la consola
- 16. ¿Es posible falsificar la consola de Windows api?
- 17. cómo leer la línea desde la consola y almacenarla en una cadena en C++?
- 18. python - Leer archivo desde y hacia líneas de texto específicas
- 19. Leer desde un gran MemoryStream en C#
- 20. ¿Cómo leer la entrada desde la consola en un archivo por lotes?
- 21. Python - Reescribe múltiples líneas en la consola
- 22. Leer líneas a partir de un número de línea en un script bash
- 23. Leer valores int desde un archivo de texto en C
- 24. ¿Cuál es la forma correcta de leer desde un socket TCP en C/C++?
- 25. Intersecta un número desconocido de matrices en PHP
- 26. scanf no funciona. necesito leer el doble desde la consola
- 27. ¿Es posible desactivar C++ assert desde la aplicación .net
- 28. Comandos de Windows Forms + desde la consola en C#
- 29. lectura Unicode desde la consola
- 30. ¿Es posible leer/escribir bits de un archivo usando JAVA?
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
Ok. Ver la edición a la publicación anterior. – Dan
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