Aventuras .NET – Métodos

Las aventuras .NET continúan, ¡y esta vez para aprender qué son los métodos e implementarlos en nuestra aplicación!

Sigamos desarrollando la aplicación de consola que creamos en el primer post, donde arrancamos la aplicación y saludamos al mundo.

Hasta ahora nuestro código era así, una aplicación sencilla que saluda, da unas breves instrucciones, espera a recibir tu nombre y saludarte de una forma personalizada:

static void Main(string[] args)
{
    Console.WriteLine("¡Hola! Dime tu nombre");
    Console.WriteLine("Después pulsa ENTER");

    string tuNombre = "";

    tuNombre = Console.ReadLine();

    Console.WriteLine("Bienvenid@, " + tuNombre);

    Console.ReadLine();
}

Este código es sencillo, pero a medida que las necesidades cambian y el código crece, puede que no queramos apilar y apilar líneas y líneas de código dentro de esta sección llamada Main… ¿pero qué es exactamente?

Main es lo que conocemos como un método. Es una porción de código que se ejecuta, desde la primera línea hasta la última, tal y como vemos que funcionan los programas.

Los métodos agrupan código bajo un nombre concreto, para llamar a ese código a través del nombre que le hemos dado. Son “invocados”, ejecutan su código y después regresan al lugar desde donde han sido invocados para seguir ejecutando el código que reste. ¿Podemos escribir nuestros propios métodos? ¡La respuésta es sí!

Bajo el código que encierra Main, después de las llaves que encierran su código (los símbolos { y }), empezamos a escribir más código, como el que puedes ver aquí:

static string ObtenerNombre()
{
    string nombre = "";
    nombre = Console.ReadLine();
    return nombre;
}

Hemos creado un fragmento de código que con un nombre concreto, ObtenerNombre, que tiene tres sencillas líneas.

Declara una variable, espera a que escribas su contenido y, literalmente, la devuelve a quien ha llamado al método, gracias a la palabra return. La variable que hemos creado dentro de este método, llamada nombre solo tiene la función de recoger el nombre y lanzarlo hacia el método que lo llama. Después de que el método sea ejecutado, ¡la variable deja de existir! Solo existe dentro de su método.

Si quieres comprobarlo, prueba a escribir el contenido de esa variable dentro del método Main, donde puedes ver que no existe:

static void Main(string[] args)
{
    Console.WriteLine("¡Hola! Dime tu nombre");
    Console.WriteLine("Después pulsa ENTER");

    string tuNombre = "";

    tuNombre = Console.ReadLine();

    // La siguiente línea mostraría un fallo
    // porque fuera del method no existe
    //Console.WriteLine(nombre);

    Console.WriteLine("Bienvenid@, " + tuNombre);

    Console.ReadLine();
}

static string ObtenerNombre()
{
    string nombre = "";
    nombre = Console.ReadLine();
    return nombre; 
}

Una vez hemos comprobado que las variables de un método solo existen dentro de los límites del método, es decir el código que está dentro de sus { }, podemos avanzar.

Ahora podemos sustituir las líneas dentro del método Main que pedían nuestro nombre, lo escribían en una variable… por el método que acabamos de crear. Finalmente, el código quedaría de la siguiente forma:

static void Main(string[] args)
{
    Console.WriteLine("¡Hola! Dime tu nombre");
    Console.WriteLine("Después pulsa ENTER");

    // Hemos sustituido las líneas que pedían nuestro nombre
    // por la llamada al method que hemos creado
    string tuNombre = ObtenerNombre();

    Console.WriteLine("Bienvenid@, " + tuNombre);

    Console.ReadLine();
}

static string ObtenerNombre()
{
    string nombre = "";
    nombre = Console.ReadLine();
    return nombre; 
}

¡Pulsa ▶️ y ejecuta la aplicación, tal y como hicimos en el capítulo anterior! Comprobarás que el funcionamiento es exactamente el mismo, pero hemos mejorado la forma en la que lo escribimos.

Las ventajas de los métodos es que podemos llamarlos tantas veces queramos, ahí reside su potencia. ¡Podemos ejecutar el código múltiples veces sin necesidad de repetir código! Así que podemos modificar el contenido de Main para pedir y almacenar dos nombres diferentes, a los que saludaremos:

static void Main(string[] args)
{
    Console.WriteLine("¡Hola! ¿Cuales son vuestros nombres?");

    Console.WriteLine("Primer nombre: ");
    string tuNombre = ObtenerNombre();
    Console.WriteLine("Segundo nombre: ");
    string otroNombre = ObtenerNombre();

    Console.WriteLine("Bienvenid@, " + tuNombre);
    Console.WriteLine("Bienvenid@ también, " + otroNombre);

    Console.ReadLine();
}

En el próximo post, exploraremos los bucles y su gran utilidad.

Si quieres seguir explorando sobre las Aventuras .NET:

seeU!

2 pensamientos en “Aventuras .NET – Métodos

  1. Pingback: Aventuras .NET – Condicionales | Geekstorming!

  2. Pingback: Aventuras .NET – Bucles | Geekstorming!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s