Este es el sexto post del curso. Podés ver en esta categoría todos los anteriores.

Tendremos que trabajar con otras personas en la mayoría de los casos y, claramente, no podemos pretender que todos hagan todo.

Hasta acá, vimos cómo crear un programa trabajando siempre con un sólo archivo, pero tendremos que ir por más que ello para ser eficientes en C#. Por ello, vamos a aprender lo que son los Namespaces.

Un namespace sería un contenedor abstracto que permite diferenciar grupos y métodos según la arquitectura que usemos para agrupar conceptos. Es muy útil, por ejemplo, dividir el namespace “modelos” de otro namespace “controlador”, para no mezclar lógica y ser prolijo si hay que editar algo.

Vamos a modificar la calculadora que hicimos antes para que quede correctamente encapsulada en un namespace.

Primero que nada, arriba de todo, agregamos esto:

using System;

using es una palabra reservada que nos permite usar distintos namespaces en nuestro código. En este caso, estamos trayendo System, que es el principal de .NET.

Inmediatamente después, creamos un namespace usando lo siguiente:

namespace Calculadora
{
    
}

Calculadora es el nombre de la app que estamos haciendo, así que tiene sentido que sea el namespace principal. Dentro de las llaves, vamos a crear una clase interna. No nos vamos a meter aún en lo que son las clases, simplemente digamos que .NET funciona en base a ellas, siendo Program una principal para que el programa de consola corra:

internal class Program {
    
}

Y por último, dentro de estas últimas llaves, vamos a agregar esto:

        static void Main(string[] args)
        {

        }

Main es la función principal que hace que todo en consola ande. De nuevo, no nos vamos a detener en los argumentos y en lo que acompaña a Main, porque lo vamos a ver en el capítulo que viene.

¡Suscribite al newsletter!

Hasta acá entonces tendríamos:

using System;

namespace Calculadora
{
    internal class Program
    {
        static void Main(string[] args)
        {

        }
    }
}

Por último, vamos a poner todo el código que hicimos la vez pasada, dentro de las llaves más internas (las de Main), quedando así:

using System;

namespace Calculadora // Note: actual namespace depends on the project name.
{
    internal class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Ingrese el primer número:");
            double dblPrimero = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Ingrese el segundo número:");
            double dblSegundo = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Ingresá tu opción según corresponda: \n\n1) Sumar \n2) Restar\n3) Multiplicar\n4) Dividir");
            byte bytOpcion = Convert.ToByte(Console.ReadLine());

            switch (bytOpcion)
            {
                case 1:
                    Console.WriteLine(dblPrimero + dblSegundo);
                    break;
                case 2:
                    Console.WriteLine(dblPrimero - dblSegundo);
                    break;
                case 3:
                    Console.WriteLine(dblPrimero * dblSegundo);
                    break;
                case 4:
                    Console.WriteLine(dblPrimero / dblSegundo);
                    break;
                default:
                    Console.WriteLine("Opción inválida");
                    break;
            }
        }
    }
}

Si hicimos todo bien y corremos el programa, debería andar todo exactamente igual que antes. ¿Para qué sirve todo esto? Lo vamos a ver en el capítulo que viene, cuando veamos funciones.

Desde Ánima queremos ayudar a una fundación sin fines de lucro que promueve el aprendizaje de las personas que menos tienen.

Por eso, toda donación recibida durante 2024 será donada a la Fundación Fonbec, que podés investigar acá.

Compartiendo la nota, dando like o comentando abajo, nos ayudás un montón. También aportás suscribiéndote a nuestro canal de YouTube.

Avatar photo

Martín Longo

Director de Ánimadata y Business Intelligence Engineer. Quemadísimo, escribo acá mis opiniones.