¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. C# 10 y Visual Studio Code
  3. Primer programa
Extrait - C# 10 y Visual Studio Code Fundamentos del lenguaje
Extractos del libro
C# 10 y Visual Studio Code Fundamentos del lenguaje
1 opinión
Volver a la página de compra del libro

Primer programa

Crear la primera aplicación C#

Ahora ha llegado el momento de pasar a la práctica y descubrir las bases de C# mediante la creación del primer programa. Como ya se ha mencionado en la introducción, para que no nos molesten los límites propios de un entorno específico, vamos a crear nuestra primera aplicación como si fuera una aplicación de consola. Más adelante en este libro estudiaremos otras formas de aplicaciones.

Teniendo en cuenta que hemos elegido usar Visual Studio Code, hay que pasar por la línea de comandos para crear una aplicación nueva.

Para crear la aplicación, hay que seguir las siguientes etapas:

 Cree una carpeta nueva en algún lugar del ordenador (en el escritorio, por ejemplo, o en una carpeta donde estén guardados sus documentos) y llámela «MiPrimeraAplicacion».

 Vaya a esta carpeta y abra Visual Studio Code en la raíz de dicha carpeta (en Windows, haga clic derecho en el explorador y luego seleccione Abrir con Code. En macOS o Linux, vaya a la carpeta con un terminal y escriba el comando "code .").

 Después de abrir la carpeta en Visual Studio Code, abra un terminal nuevo directamente integrado en el editor (haga clic en el menú superior Terminal y luego seleccione New Terminal).

 En el terminal que se ha abierto en la parte inferior de la pantalla, compruebe que se encuentra...

Comprender y escribir código C#

Nuestro programa de demostración es muy sencillo porque representa el programa de prueba tipo que se ejecuta habitualmente cuando se aprende un lenguaje: mostrar la frase «Hello World!».

Teniendo en cuenta que nuestra aplicación es una aplicación de consola, elegimos mostrar el texto directamente en la consola. Por eso la línea 2 contiene esta instrucción:

Console.WriteLine("Hello World!"); 

La primera cosa bastante fácil de identificar es la presencia obligatoria del carácter «;» al final de cada instrucción. En C#, es necesario separar las instrucciones mediante un punto y coma. Además, eso significa que, cuando el compilador no encuentra este carácter, lee las instrucciones de línea en línea hasta encontrarlo (es posible escribir código en varias líneas).

Aquí, siempre y cuando hable un poco de inglés, la instrucción es bastante sencilla. Usamos la consola para escribir una línea e indicamos entre paréntesis lo que queremos mostrar en esta línea en la consola. Esta manera de proceder se llama pasar parámetros a una función.

En concreto, si analizamos completamente esta instrucción:

  • Recuperamos el objeto Console.

  • Llamamos al método WriteLine en el objeto Console.

  • Al método le pasamos como parámetro una cadena de caracteres que contiene «Hello World!».

Nos encontramos con varios conceptos importantes, que se aclararán a lo largo del libro. Pero esta instrucción simplemente consiste en llamar a un método en un objeto ya existente. También podrá comprobar que en su archivo no hay una declaración de la clase Console. Esto se debe al hecho de que esta última está definida en el espacio de nombres System, y a que este espacio de nombres se ha importado con una instrucción using al inicio de la página.

Otro elemento importante: para llamar a un método en un objeto, siempre se usa el punto como separador. Además, si se coloca en una línea vacía y escribe «Console...

Analizar la estructura de un proyecto C#

Un archivo de código C# puede contener instrucciones diversas y variadas. Primero vamos a interesarnos por lo que hace la estructura de un archivo C# clásico, que no se puede ver desde nuestro proyecto de ejemplo porque este último usa el modelo de aplicación simplificado.

C# 9 ha contribuido en gran medida a simplificar la escritura de programas sencillos; por eso el programa generado al principio de este libro solo contiene una única instrucción. Para no alterar los conceptos elementales del código C#, trataremos esta idea al final de esta sección, cuando se haya adquirido el concepto de bloque.

1. El concepto de bloques

Para poder estudiar el concepto de bloques, vamos a tomar un archivo modelo de lo que era una aplicación de consola antes de la llegada de .NET 6 y de su modelo simplificado. Este es el código:

images/02_05.png

Aplicación de consola antes de .NET 6

Por supuesto, esto es más complejo que la versión que hemos conocido, pero contiene conceptos fundamentales sobre el código C#. En todas las explicaciones que siguen, vamos a tener en cuenta este código.

Algunos caracteres aparecen varias veces en un archivo de C# y deberán ser identificados de manera automática. Lo primero que vemos es que hay un sangrado (un desplazamiento de las líneas hacia la derecha) y que este sangrado está vinculado a los caracteres llave («{» y «}»).

De manera bastante sencilla, el lenguaje C# funciona por bloques.

Un bloque es un fragmento de código que tiene su propio contexto y puede contener otros bloques.

Por ejemplo, en nuestro archivo vemos un primer bloque que empieza en la línea 4 y termina en la línea 12. Este bloque contiene otro bloque que empieza en la línea 6 y termina en la línea 11. Y, finalmente, este último también contiene otro bloque que va desde la línea 8 hasta la línea 10. La única instrucción que existe fuera de los bloques es la que aparece en la línea 1, que veremos más adelante.

El denominador común de todos estos bloques es que tienen «un título». Por ejemplo, para el bloque de mayor nivel, la línea 3 define lo que contiene y se puede considerar como «su título». Luego, para...

Ejecutar un programa C#

Ahora es el momento de ver cómo se puede lanzar un programa C#. Nuestro programa de ejemplo solo muestra «Hello World!» en la consola, pero sería interesante verlo ejecutarse. Hay dos maneras de hacer esto.

1. Lanzar el programa con Visual Studio Code

Si ha visto la pequeña ventana emergente al principio que le ha pedido restaurar algunos elementos para su programa, Visual Studio Code ha detectado que escribe una aplicación C# y ha preparado las dependencias para que pueda ejecutarlo.

Para iniciar la aplicación, hay que ir a la pestaña Run & Debug, representada por este icono:

images/02EI07.PNG

Icono Visual Studio Code para ejecutar el programa

Después de llegar a esta parte de la aplicación, el panel de la izquierda cambia para cargar lo que se llama el depurador (debugger en inglés). Gracias a esta herramienta, se puede lanzar una aplicación C# y observar, durante su ejecución, los valores de variables y analizar el desarrollo del código paso a paso.

En la parte superior del panel, normalmente hay una flecha pequeña de reproducción que permite iniciar el programa y vincularle el depurador:

images/02EI08.PNG

Flecha de lanzamiento de una aplicación con ayuda del depurador

Al hacer clic en la flecha, la aplicación se compila y se lanza en la parte inferior de Visual Studio Code. Puede ver el resultado de su programa C#, que en este momento se contenta...

Ejercicio

Ahora que sabe cómo ejecutar una aplicación .NET y ha comprendido el principio del uso de variables, es el momento de hacer un ejercicio.

Principalmente, una variable sirve para recuperar valores emitidos por funciones. El método Console.ReadLine permite recuperar, bajo la forma de una cadena de caracteres, la escritura del usuario en la consola. Por el momento, no se pide ninguna comprobación de que la edad sea un entero.

1. Enunciado

Como ejercicio, esto es lo que se pide:

  • Mostrar un texto de bienvenida.

  • Pedirle al usuario que escriba su nombre.

  • Pedirle al usuario que escriba su edad.

  • Mostrar en la consola «Hola [NOMBRE], tiene [EDAD] años» sustituyendo los valores entre corchetes por los valores recuperados.

2. Solución

Para hacer este pequeño ejercicio, se puede crear una aplicación nueva o utilizar la que ya hemos creado. Usando los métodos Console.ReadLine, Console.WriteLine y variables, este ejercicio se puede hacer de la siguiente manera:

Console.WriteLine("Bienvenido a mi programa"); 
Console.WriteLine("Escriba su nombre y pulse 'Intro'"); 
string nombre = Console.ReadLine(); 
Console.WriteLine("Escriba su edad y pulse 'Intro'"); 
string edad = Console.ReadLine(); 
Console.WriteLine("Hola" + nombre + ", tiene " + edad + " años");...