This article has been localized into Spanish by the community.
Hello World! explicado
En el capítulo anterior, intentamos escribir una linea de texto en la consola, en nuestra primera aplicación de C#. Para poder ver algún progreso, no nos metimos en mucho detalle sobre las líneas de código que utilizamos, así que este capítulo es una explicación del código de ejemplo Hello world ('Hola Mundo'). Como podrás comprobar desde el código, algunas líneas se ven similares, así que las agruparemos para una explicación individual. Empecemos con los caracteres más cortos y comunes de nuestro código: { y }. Se conocen como corchetes, y en C#, señalan el inicio y el final de un bloque lógico de código. Los corchetes se usan en muchos otros lenguajes, incluyendo C++, Java, JavaScript y muchos otros. Como puedes ver en el código, se usan para agrupar varias líneas de texto que pertenecen a un mismo bloque. En ejemplos posteriores, quedará más claro su uso.
Ahora comencemos desde el principio:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using es una palabra clave, resaltada de azul por el editor. La palabra using importa un espacio de nombres (namespace), que es una colección de clases. Las clases nos aportan cierto tipo de funcionalidad, y cuando trabajamos con una IDe avanzada como Visual Studio, creará normalmente parte de código trivial para nosotros. En este caso, ha creado una clase para nosotros, y ha importado los espacios de nombres requeridos o que se espera sean usados más comúnmente. En este caso, se han importado 5 espacios para nosotros, cada uno conteniendo numerosas clases útiles. Por ejemplo, usamos la clase Console, que es parte del espacio de nombre System.
Por otro lado, no hemos utilizado aún el espacio de nombres System.Linq (por ejemplo), así que si eres un purista, puedes escoger eliminar esta línea, aunque no marque mucha diferencia en este punto.
Como puedes ver, incluso creamos nuestro propio espacio de nombres
namespace ConsoleApp1
El espacio de nombres ConsoleApp1 es ahora el espacio de nombres principal (main) de esta aplicación, y las nuevas clases serán parte de el por defecto. Obviamente, puedes cambiar esto, y crear clases en otro espacio de nombres. En ese caso, tendrás que importar este nuevo espacio de nombres para utilizarlo en tu aplicación, con el comando using, como cualquier otro espacio de nombres.
Definamos ahora nuestra clase. Como C# es verdaderamente un lenguaje Orientado a Objetos, cada línea de código que haga algo es encapsulada dentro de una clase. En este caso, la clase se llama simplemente Program:
class Program
Podemos tener más clases, incluso en el mismo archivo. De momento, solo necesitamos una clase. Una clase puede contener varias variables, propiedades y métodos, conceptos en los que profundizaremos más adelante. De momento, todo lo que necesitas saber es que nuestra clase actual contiene un único método y nada más. Es declarada como sigue:
static void Main(string[] args)
Esta línea es probablemente la más complicada de este ejemplo, así que dividámosla en partes. La primera palabra es static. La palabra clave static nos indica que este método debería ser accesible sin necesidad de instanciar la clase, veremos más sobre esto en el capítulo sobre clases.
La siguiente palabra clave es void, y nos indica lo que este método debería devolver. Por ejemplo, podría ser un integer o un string de texto, pero en este caso, no queremos que el método nos devuelva nada (C# usa la palabra clave void para expresar el concepto de nada).
La siguiente palabra es Main, que es simplemente el nombre de nuestro método. Este método es el conocido como punto de entrada de nuestra aplicación, es decir, la primera parte del código que será ejecutada, y en nuestro ejemplo, la única pieza que será ejecutada.
Después, a continuación del nombre del método, se puede especificar un conjunto de argumentos dentro de paréntesis. En nuestro ejemplo, nuestro método toma solo un argumento, llamado args. El tipo de argumento es un string, o, para ser más precisos, un Array de strings, pero veremos más de esto posteriormente. Si piensas en ello, tiene pleno sentido, dado que las aplicaciones de Windows pueden ser llamadas con un set opcional de argumentos. Estos argumentos se pasan como un string de texto a nuestro método principal.
Y así es. Deberías tener ahora una comprensión básica de nuestra primera aplicación de C#, así como los principios básicos de lo que hace funcionar a una aplicación de consola.