Si es el primer post que mirás del curso, hay otros dos, que podés mirar en la categoría correspondiente.

Anteriormente, instalamos Visual Studio Code y modificamos una línea de código. Hoy vamos a pedirle al usuario que ingrese su nombre para saludarlo en consola. Para ello nos vamos a valer de dos conceptos: una variable y un método.

Una variable es básicamente un lugar nombrado de la memoria RAM donde podemos almacenar datos. Estos datos están asociados a un tipo, pudiendo ser desde un número entero a una cadena de texto.

En C# son fáciles de declarar, usando la palabra reservada al tipo de variable, y luego el nombre que le vamos a dar.

Hay varias convenciones que se utilizan al declarar variables. La que uso yo es usar los primeros tres caracteres para indicar el tipo, y los que continúan para declarar qué contiene. Volviendo a nuestro ejemplo de nombre, podemos declarar una variable string (es decir, que contiene texto), y sabiendo que va a tener un nombre, podemos llamarla como strNombre, de la siguiente manera, como la primera línea de nuestro archivo Program.cs (antes del Console.WriteLine):

string strNombre;

Notá que al final de la línea de código puse un ;. Es necesario al final de cada método o instrucción, así que no lo olvides. Igual Visual Studio Code te va a mostrar un subrayado rojo si te equivocaste en algo.

Ahora que sabemos dónde vamos a guardar el nombre, hay que pedírselo al usuario. Nos vamos a valer de un método de consola, llamado ReadLine, que pide precisamente el ingreso de texto del usuario. Ese ingreso lo vamos a guardar en strNombre, debajo de la línea anterior, de esta manera:

strNombre = Console.ReadLine();

Por último, debemos mostrarlo. Si seguiste mis instrucciones hasta acá, la línea de WriteLine ya está escrita. Vamos a borrar la parte de Ánima, y cambiarla por lo siguiente:

Console.WriteLine("Hola " + strNombre + "!");

El signo + une cadenas de texto, que cada una se delimita con comillas dobles. Notarás que strNombre no tiene comillas, y eso es porque la variable se reemplaza “como magia” por su contenido, en este caso, el texto que ingresó el usuario.

¡Suscribite al blog!

Si hiciste todo bien, cuando corras el programa (con dotnet run), vas a ver un mensaje amarillo, que dice algo de una variable nula. Por ahora lo dejamos como está (nunca va a ser nula de todas formas). Escribimos un nombre, damos enter y…

Mi nombre no tiene tilde! ¿Está un poquito mal, no? Esto es porque el texto se “codifica” de determinadas maneras de forma interna, y la que tiene por defecto (es decir, al principio) es incompatible con la tilde. Se soluciona agregando al principio de todo la siguiente línea:

Console.InputEncoding = System.Text.Encoding.Unicode;

Por último, vamos a sacar la línea amarilla que aparece en el editor debajo de ReadLine. El tipo “nulo” es la ausencia de datos, que es muy distinto a un texto vacío. No es un cero tampoco. Nulo es simplemente que no hay nada. En C# podemos declarar que una variable acepte nulos con el signo ? después del tipo. En nuestro caso es después de la palabra string.

El código final de nuestro ejercicio quedaría así:

Console.InputEncoding = System.Text.Encoding.Unicode;
string? strNombre = "";
strNombre = Console.ReadLine();
Console.WriteLine("Hola " + strNombre + "!");

Y eso es todo para el saludador. Sin embargo, te dejo un ejercicio: la consola no le dice nunca al usuario que debe ingresar su nombre. ¿Te animás a agregar ese mensaje?

Comentame cómo lo harías en los comentarios debajo.

¿No pensás que lo que hacemos está bueno? Podés hacer un aporte por Cafecito o PayPal que no te duela por única vez, para que, si la nota te gustó, nos lo hagas saber.

Si no podés colaborar económicamente, compartiendo la nota, dando like o comentando abajo, nos ayudás un montón. También aportás a nuestro crecimiento suscribiéndote a nuestro canal de YouTube.


Avatar photo

Martín Longo

Director de Ánimadata y Business Intelligence Engineer. Quemadísimo, escribo acá mis opiniones.