Hola mundo: tutorial interactivo introductorio
En este tutorial se enseña a usar C# de forma interactiva, con el uso del explorador para escribir código de C# y ver los resultados de la compilación y ejecución del código. Contiene una serie de lecciones que comienzan con un programa "Hola mundo". En ellas se enseñan los aspectos básicos del lenguaje C#.
Sugerencia
Para pegar un fragmento de código dentro del modo de enfoque debe usar el método abreviado de teclado (Ctrl + v o cmd + v).
Ejecución del primer programa
Ejecute el código siguiente en la ventana interactiva. Seleccione el botón Entrar en el modo de enfoque. A continuación, escriba el bloque de código siguiente en la ventana interactiva y seleccione Ejecutar:
Console.WriteLine("Hello World!");
¡Enhorabuena! Ha ejecutado su primer programa en C#. Se trata de un programa sencillo que imprime el mensaje "Hello World!". Utilizó el método Console.WriteLine para imprimir ese mensaje. Console
es un tipo que representa la ventana de la consola. WriteLine
es un método del tipo Console
que imprime una línea de texto en dicha consola de texto.
Sigamos indagando. En el resto de esta lección se analizan las operaciones con el tipo string
, que representa el texto en C#. Al igual que el tipo Console
, el tipo string
también tiene métodos. Los métodos string
trabajan con texto.
Declaración y uso de variables
El primer programa ha impreso string
"Hola mundo" en la pantalla.
Sugerencia
Cuando explore C# o cualquier otro lenguaje de programación, cometerá errores al escribir código. El compilador buscará dichos errores y los notificará. Si la salida contiene mensajes de error, revise detenidamente el ejemplo de código y el código de la ventana interactiva para saber qué debe corregir. Este ejercicio le ayudará a aprender la estructura del código de C#.
El primer programa está limitado a la impresión de un mensaje. Puede escribir programas más útiles mediante variables. Una variable es un símbolo que se puede usar para ejecutar el mismo código con valores diferentes. Vamos a probarla. Reemplace el código que ha escrito en la ventana interactiva con el código siguiente:
string aFriend = "Bill";
Console.WriteLine(aFriend);
La primera línea declara una variable, aFriend
, y le asigna un valor, "Bill". La segunda línea imprime el nombre.
Puede asignar valores diferentes a cualquier variable que declare. Puede cambiar el nombre por el de alguno de sus amigos. Agregue estas dos líneas en la ventana interactiva después del código que ya ha agregado. Asegúrese de mantener la declaración de la variable aFriend
y su asignación inicial.
Importante
No elimine la declaración de aFriend
. Agregue el siguiente código después de la declaración existente.
aFriend = "Maira";
Console.WriteLine(aFriend);
Tenga en cuenta que la misma línea de código imprime dos mensajes diferentes, según el valor almacenado en la variable aFriend
.
Puede que haya observado que la palabra "Hello" no aparecía en los dos últimos mensajes. Vamos a corregir esto. Modifique las líneas que imprimen el mensaje por lo siguiente:
Console.WriteLine("Hello " + aFriend);
Vuelva a seleccionar Ejecutar para ver los resultados.
Ha usado +
para crear cadenas a partir de cadenas de variables y constantes. Existe una forma mejor.
Puede colocar una variable entre los caracteres {
y }
para indicar a C# que sustituya el texto por el valor de la variable.
A esto se le denomina una interpolación de cadenas.
Si agrega $
antes de las comillas de apertura de la cadena, puede incluir variables, como aFriend
, dentro de la cadena entre llaves. Pruébelo:
Console.WriteLine($"Hello {aFriend}");
Vuelva a seleccionar Ejecutar para ver los resultados. En lugar de "Hola, {aFriend}", el mensaje debe ser "Hola, Maira".
Operaciones con cadenas
La última modificación era un ejemplo de lo que puede hacer con las cadenas. Indaguemos más.
No está limitado a una única variable entre llaves. Pruebe esto:
string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");
A medida que explore más cadenas, observará que las cadenas son más que una colección de letras. Puede buscar la longitud de una cadena mediante Length
. Length
es una propiedad de una cadena que devuelve el número de caracteres que esta contiene. Agregue el código siguiente en la parte inferior de la ventana interactiva:
Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");
Sugerencia
Es un buen momento para que explore por su cuenta. Ha aprendido que Console.WriteLine()
escribe texto en la pantalla. Ahora también sabe cómo declarar variables y concatenar cadenas de forma conjunta. Experimente en la ventana interactiva. La ventana tiene una característica denominada IntelliSense que realiza sugerencias sobre lo que puede hacer. Escriba .
después de d
en firstFriend
. Verá una lista de sugerencias para las propiedades y los métodos que puede usar.
Otras operaciones con cadenas
Ya ha utilizado un método, Console.WriteLine, para imprimir los mensajes. Un método es un bloque de código que implementa alguna acción. Tiene un nombre, por lo que puede acceder a él.
Trim
Supongamos que las cadenas tienen espacios iniciales o finales que no desea mostrar. Desea recortar los espacios de las cadenas. El método Trim y los métodos relacionados TrimStart y TrimEnd realizan ese trabajo. Solo puede usar estos métodos para quitar los espacios iniciales y finales. Pruebe el código siguiente:
string greeting = " Hello World! ";
Console.WriteLine($"[{greeting}]");
string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");
Los corchetes [
y ]
ayudan a visualizar lo que hacen los métodos Trim
, TrimStart
y TrimEnd
. Los corchetes muestran dónde empieza y acaba el espacio en blanco.
Este ejemplo refuerza un par de conceptos importantes para trabajar con cadenas. Los métodos que manipulan cadenas devuelven nuevos objetos de cadena en lugar de realizar modificaciones en contexto. Puede observar que cada llamada a cualquiera de los métodos Trim
devuelve una cadena nueva, pero no modifica el mensaje original.
Replace
Hay otros métodos disponibles para trabajar con una cadena. Por ejemplo, probablemente haya usado anteriormente un comando para buscar y reemplazar en un editor o procesador de textos. El método Replace hace algo similar en una cadena. Busca una subcadena y la reemplaza con otro texto. El método Replace toma dos parámetros. Son las cadenas que aparecen entre paréntesis. La primera cadena es el texto que se va a buscar. La segunda cadena es el texto por el que se va a reemplazar. Inténtelo usted mismo. Agregue este código. Escríbalo para ver las sugerencias cuando empiece a escribir .Re
después de la variable sayHello
:
string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);
Otros dos métodos útiles sirven para convertir todos los caracteres de una cadena en MAYÚSCULA o en minúscula. Pruebe el código siguiente. Escríbalo para ver cómo IntelliSense proporciona sugerencias a medida que empiece a escribir To
:
Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());
Cadenas de búsqueda
Otra utilidad de una operación para buscar y reemplazar es encontrar texto en una cadena. Puede usar el método Contains para realizar la búsqueda. Indica si una cadena contiene una subcadena. Pruebe el código siguiente para explorar Contains:
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));
El método Contains devuelve un valor booleano que indica si se encontró la cadena que buscaba. Un booleano almacena un valor true
o false
. Cuando se muestra como salida de texto, se escriben en mayúsculas: True
y False
, respectivamente. Obtendrá más información sobre los valores booleanos en una lección posterior.
Desafío
Existen dos métodos similares, StartsWith y EndsWith, que también buscan subcadenas en una cadena. Encuentran una subcadena al principio o al final de la cadena. Intente modificar el ejemplo anterior para utilizar StartsWith y EndsWith en lugar de Contains. Busque "You" o "goodbye" al principio de una cadena. Busque "hello" o "goodbye" al final de una cadena.
Nota
Fíjese en la puntuación cuando analice el texto al final de la cadena. Si la cadena finaliza con un punto, debe comprobar si hay una cadena que termina con un punto.
Debe obtener true
para empezar con "You" y terminar con "hello" y false
para empezar o terminar con "goodbye".
Desafío completo
¿Ha obtenido algo parecido a lo siguiente?
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.StartsWith("You"));
Console.WriteLine(songLyrics.StartsWith("goodbye"));
Console.WriteLine(songLyrics.EndsWith("hello"));
Console.WriteLine(songLyrics.EndsWith("goodbye"));
¡Enhorabuena!
Ha completado el tutorial de introducción a C# "Hola, C#". Puede seleccionar el vínculo Números en C# debajo para iniciar el tutorial interactivo siguiente, o bien puede visitar el sitio de .NET para descargar el SDK de .NET, crear un proyecto en la máquina y continuar la codificación. La sección "Pasos siguientes" le lleva de vuelta a estos tutoriales.
Para obtener más información sobre el tipo string
:
¿Tiene algún problema con esta sección? Si es así, envíenos sus comentarios para que podamos mejorarla.