En este tutorial, aprenderemos cómo tomar la entrada del usuario y mostrar la salida en C # usando varios métodos.
Salida C #
Para generar algo en C #, podemos usar
System.Console.WriteLine () O System.Console.Write ()
En este caso, System
es un espacio de nombres, Console
es una clase dentro del espacio de nombres System
y WriteLine
y Write
son los métodos de la clase Console
.
Veamos un ejemplo simple que imprime una cadena en la pantalla de salida.
Ejemplo 1: Impresión de cadena usando WriteLine ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
Cuando ejecutamos el programa, la salida será
C # es genial
Diferencia entre el método WriteLine () y Write ()
La principal diferencia entre WriteLine()
y Write()
es que el Write()
método solo imprime la cadena que se le proporciona, mientras que el WriteLine()
método imprime la cadena y también se mueve al inicio de la siguiente línea.
Echemos un vistazo al siguiente ejemplo para comprender la diferencia entre estos métodos.
Ejemplo 2: ¿Cómo utilizar el método WriteLine () y Write ()?
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("Prints on "); Console.WriteLine("New line"); Console.Write("Prints on "); Console.Write("Same line"); ) ) )
Cuando ejecutamos el programa, la salida será
Imprime en una nueva línea Imprime en la misma línea
Impresión de variables y literales usando WriteLine () y Write ()
El método WriteLine()
y Write()
se puede utilizar para imprimir variables y literales. He aquí un ejemplo.
Ejemplo 3: Impresión de variables y literales
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
Cuando ejecutamos el programa, la salida será
10 50.05
Combinando (Concatenando) dos cadenas usando el operador + e imprimiéndolas
Las cadenas se pueden combinar / concatenar utilizando el +
operador durante la impresión.
Ejemplo 4: Impresión de una cadena concatenada mediante el operador +
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
Cuando ejecutamos el programa, la salida será
Valor de Hello World = 55
Impresión de una cadena concatenada utilizando una cadena formateada (mejor alternativa)
Una mejor alternativa para imprimir cadenas concatenadas es utilizar cadenas formateadas. La cadena formateada permite al programador usar marcadores de posición para las variables. Por ejemplo,
La siguiente línea,
Console.WriteLine ("Valor =" + val);
puede ser reemplazado por,
Console.WriteLine ("Valor = (0)", val);
(0)
es el marcador de posición para la variable val que será reemplazada por el valor de val. Dado que solo se usa una variable, solo hay un marcador de posición.
Se pueden utilizar varias variables en la cadena formateada. Lo veremos en el siguiente ejemplo.
Ejemplo 5: Impresión de una cadena concatenada con formato de cadena
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int firstNumber = 5, secondNumber = 10, result; result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); ) ) )
Cuando ejecutamos el programa, la salida será
5 + 10 = 15
Aquí, (0)
se reemplaza por firstNumber, (1)
se reemplaza por secondNumber y (2)
se reemplaza por result. Este enfoque de la salida de impresión es más legible y menos propenso a errores que el +
operador.
Para saber más sobre el formato de cadenas, visite Formateo de cadenas de C #.
Entrada C #
En C #, el método más simple para obtener información del usuario es usar el ReadLine()
método de la Console
clase. Sin embargo, Read()
y ReadKey()
también están disponibles para obtener información del usuario. También se incluyen en Console
clase.
Ejemplo 6: Obtener entrada de cadena del usuario
using System; namespace Sample ( class Test ( public static void Main(string() args) ( string testString; Console.Write("Enter a string - "); testString = Console.ReadLine(); Console.WriteLine("You entered '(0)'", testString); ) ) )
Cuando ejecutamos el programa, la salida será:
Ingrese una cadena - Hola mundo Ingresó 'Hola mundo'
Diferencia entre el método ReadLine (), Read () y ReadKey ():
La diferencia entre ReadLine()
, Read()
y ReadKey()
método es:
ReadLine()
: TheReadLine()
method reads the next line of input from the standard input stream. It returns the same string.Read()
: TheRead()
method reads the next character from the standard input stream. It returns the ascii value of the character.ReadKey()
: TheReadKey()
method obtains the next key pressed by user. This method is usually used to hold the screen until user press a key.
If you want to know more about these methods, here is an interesting discussion on StackOverflow on: Difference between Console.Read() and Console.ReadLine()?.
Example 7: Difference between Read() and ReadKey() method
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int userInput; Console.WriteLine("Press any key to continue… "); Console.ReadKey(); Console.WriteLine(); Console.Write("Input using Read() - "); userInput = Console.Read(); Console.WriteLine("Ascii Value = (0)",userInput); ) ) )
When we run the program, the output will be
Press any key to continue… x Input using Read() - Learning C# Ascii Value = 76
From this example, it must be clear how ReadKey()
and Read()
method works. While using ReadKey()
, as soon as the key is pressed, it is displayed on the screen.
When Read()
is used, it takes a whole line but only returns the ASCII value of first character. Hence, 76
(ASCII value of L
) is printed.
Reading numeric values (integer and floating point types)
Reading a character or string is very simple in C#. All you need to do is call the corresponding methods as required.
But, reading numeric values can be slightly tricky in C#. We’ll still use the same ReadLine()
method we used for getting string values. But since the ReadLine()
method receives the input as string, it needs to be converted into integer or floating point type.
Un enfoque simple para convertir nuestra entrada es usar los métodos de Convert
clase.
Ejemplo 8: lectura de valores numéricos del usuario usando la clase Convert
using System; namespace UserInput ( class MyClass ( public static void Main(string() args) ( string userInput; int intVal; double doubleVal; Console.Write("Enter integer value: "); userInput = Console.ReadLine(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) )
Cuando ejecutamos el programa, la salida será
Ingrese un valor entero: 101 Ingresó 101 Ingrese un valor doble: 59.412 Ingresó 59.412
El método ToInt32()
y ToDouble()
de la clase Convert convierte la entrada de cadena en tipo entero y doble respectivamente. Del mismo modo, podemos convertir la entrada a otros tipos. Aquí hay una lista completa de métodos disponibles para la clase Convert.
Hay otras formas de obtener entradas numéricas del usuario. Para obtener más información, visite Leer un número entero a partir de la entrada del usuario.