Compartir vía


Introducción a C#: tutorial interactivo

En este tutorial se enseña C# de forma interactiva, con el explorador para escribir 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". Estas lecciones le enseñan los aspectos básicos del lenguaje C#.

Sugerencia

Cuando un bloque de fragmento de código incluye el botón "Ejecutar", ese botón abre la ventana interactiva o reemplaza el código existente en la ventana interactiva. Cuando el fragmento de código no incluye un botón "Ejecutar", puede copiar el código y agregarlo a la ventana interactiva actual.

Ejecución del primer programa

Ejecute el código siguiente en la ventana interactiva.

Console.WriteLine("Hello, World!");

¡Felicidades! Ejecutaste tu primer programa de C#. Es un programa sencillo que imprime el mensaje "Hola mundo!" Usó el Console.WriteLine método para imprimir ese mensaje. Console es un tipo que representa la ventana de la consola. WriteLine es un método del Console tipo que imprime una línea de texto en esa consola de texto.

Vamos a continuar y explorar más. El resto de esta lección explora el trabajo con el string tipo , que representa el texto en C#. Al igual que el Console tipo, el string tipo tiene métodos. Los string métodos funcionan con texto.

Declaración y uso de variables

Tu primer programa imprimió en la pantalla el "Hola Mundo!" string

Sugerencia

Al explorar C# (o cualquier lenguaje de programación), se cometen errores al escribir código. El compilador de encuentra esos errores y los notifica a usted. Cuando la salida contiene mensajes de error, examine detenidamente el código de ejemplo y el código de la ventana interactiva para ver qué corregir. Este ejercicio le ayuda a aprender la estructura del código de C#.

El primer programa se limita a imprimir un mensaje. Puede escribir programas más útiles mediante variables. Una variable es un símbolo que puede usar para ejecutar el mismo código con valores diferentes. Probémoslo. Comience con el código siguiente:

string aFriend = "Bill";
Console.WriteLine(aFriend);

La primera línea declara una variable, aFriendy le asigna un valor, "Bill". La segunda línea imprime el nombre.

Puede asignar valores diferentes a cualquier variable que declare. Puedes cambiar el nombre por el de uno de tus amigos. Agregue estas dos líneas en la ventana interactiva anterior siguiendo el código que ya ha agregado. Asegúrese de mantener la declaración de la aFriend variable y su asignación inicial.

Importante

No elimine la declaración de aFriend. Agregue el código siguiente al final de la ventana interactiva anterior:

aFriend = "Maira";
Console.WriteLine(aFriend);

Observe que la misma línea de código imprime dos mensajes diferentes, en función del valor almacenado en la aFriend variable.

Es posible que observe que falta la palabra "Hello" en los dos últimos mensajes. Vamos a arreglar eso ahora. Modifique las líneas que imprimen el mensaje en el código siguiente:

Console.WriteLine("Hello " + aFriend);

Seleccione Ejecutar de nuevo para ver los resultados.

Ha estado usando + para compilar cadenas a partir de variables y cadenas constantes . Hay una mejor manera. Puede colocar una variable entre { caracteres y } para indicar a C# que reemplace ese texto por el valor de la variable.

Este proceso se denomina 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 un intento:

Seleccione Ejecutar de nuevo para ver los resultados. En lugar de "Hello {aFriend}", el mensaje debe ser "Hello Maira".

Console.WriteLine($"Hello {aFriend}");

Operaciones con cadenas

La última modificación era un ejemplo de lo que puede hacer con las cadenas. Vamos a explorar más.

No está limitado a una única variable entre llaves. Pruebe el código siguiente:

string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");

Las cadenas son más que una colección de letras. Puede encontrar la longitud de una cadena mediante Length. Length es una propiedad de una cadena y devuelve el número de caracteres de esa cadena. 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

Ahora es un buen momento para explorar por su cuenta. Ha aprendido que Console.WriteLine() escribe texto en la pantalla. Ha aprendido a declarar variables y concatenar cadenas juntas. Experimente en la ventana interactiva. La ventana tiene una característica denominada IntelliSense que realiza sugerencias para lo que puede hacer. Escriba un elemento . después de d en firstFriend. Verá una lista de sugerencias para propiedades y métodos que puede usar.

Has estado usando un método, Console.WriteLine para imprimir 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.

Recorte

Supongamos que las cadenas tienen espacios iniciales o finales que no desea mostrar. Usted quiere eliminar los espacios de las cadenas. El Trim método y los métodos TrimStart relacionados y TrimEnd hacen ese trabajo. Simplemente puedes usar esos 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 comienza y termina 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 su lugar. Puede ver que cada llamada a cualquiera de los Trim métodos devuelve una nueva cadena, pero no cambia el mensaje original.

Reemplazar

Hay otros métodos disponibles para trabajar con una cadena. Por ejemplo, probablemente usó un comando de búsqueda y reemplazo en un editor o procesador de texto antes. El Replace método hace algo similar en una cadena. Busca una subcadena y la reemplaza por texto diferente. El Replace método toma dos parámetros. Estos parámetros son las cadenas 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. Pruébelo por ti 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. Escriba para ver cómo IntelliSense proporciona sugerencias a medida que empieza a escribir To:

Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());

Cadenas de búsqueda

La otra parte de una operación de búsqueda y reemplazo es buscar texto en una cadena. Puede usar el Contains método para buscar. Indica si una cadena contiene una subcadena dentro de ella. 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 Contains método devuelve un valor booleano que indica si se encontró la cadena que estaba buscando. Un booleano almacena un valor true o false. Cuando se muestran como salida de texto, se escriben en mayúsculas: True y False, respectivamente. Obtenga más información sobre los valores booleanos en una lección posterior.

Desafío

Hay dos métodos StartsWith similares y EndsWith que también buscan subcadenas en una cadena. Estos métodos encuentran una subcadena al principio o al final de la cadena. Intente modificar el ejemplo anterior para usar StartsWith y EndsWith en lugar de Contains. Busque "tú" o "adiós" al principio de una cadena. Busque "hola" o "adiós" al final de una cadena.

Nota:

Presta atención a la puntuación cuando verifiques 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".

¿Se le ocurrió algo parecido a lo siguiente (expande para ver la respuesta):

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"));

Ha completado la introducción "Hello C#" al tutorial de C#. Puede seleccionar el tutorial Números en C# para iniciar el siguiente tutorial interactivo, o bien puede visitar el sitio de .NET para descargar el SDK de .NET, crear un proyecto en la máquina y mantener la codificación. La sección "Pasos siguientes" lo conduce de nuevo a estos tutoriales.

Para obtener más información sobre el string tipo: