¿Cómo tomar la entrada del usuario en la consola o el archivo con facilidad en C #?

StackOverflow https://stackoverflow.com/questions/816726

  •  03-07-2019
  •  | 
  •  

Pregunta

Soy un usuario de C ++ y ahora estoy tratando de usar C #.

En c ++, tomar datos del usuario fue divertido (solo > >) y soportaba todos los tipos. Así fue para los archivos. Pero en c # es demasiado complejo, ya que solo puedo tomar cadenas. Luego tengo que manipularlo para su uso posterior.

Y si quiero tomar múltiples entradas en la misma línea separadas por espacios en blanco, se vuelve más complejo ya que tengo que ir para la división de cadenas. Luego conversión ...

Puede ser para manejo de errores y código seguro. Pero de todos modos estoy decepcionado con C #.

Todos ustedes son chicos expertos aquí. ¿Hay alguna manera fácil?

¿Fue útil?

Solución

Hasta donde yo sé, tienes que hacerlo de la manera difícil. (En el lado positivo, sin embargo, el camino difícil es más simple de lo que sería en C ++;))

Console.OpenStandardInput () le proporciona la secuencia de entrada, por lo que puede tratarse de la misma manera que los archivos, pero tendrá que dividir la cadena usted mismo si lo necesita. Por supuesto, C # tiene una buena biblioteca Regex que puede ayudar aquí.

T. TryParse (donde T es int, float, el tipo que desee leer) debería permitirle convertir la cadena a esos tipos.

Otros consejos

En última instancia, no tomaría mucho envolverlo, solo necesitaría almacenar la línea actual y leer las entradas en el formato deseado. Pero en mi opinión, un poco de división / TryParse, etc. rara vez duele.

No estoy 100% seguro de los formatos esperados que >> acepta, pero dudo que sea difícil hacer algo similar. Sin embargo, no me ofrezco para escribirlo ;-p

Como ya se respondió, C # no es compatible con esto. Sin sobrecarga de & Lt; & Lt; o > > para las transmisiones en absoluto y si bien hay un TextWriter.WriteLine (" ", ...) no hay TextReader.ReadLine () correspondiente con la lista de parámetros variables.

Voy a adivinar Por qué : el formato de datos con espacios en blanco que dat cin entiende simplemente ya no se usa mucho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top