Tutorial: Creación de una aplicación de consola de C# sencilla en Visual Studio (parte 1 de 2)

En este tutorial, usa Visual Studio para crear y ejecutar una aplicación de consola de C# y explorar algunas características del entorno de desarrollo integrado (IDE) de Visual Studio. Este tutorial es la primera parte de una serie de tutoriales de dos partes.

En este tutorial, hizo lo siguiente:

  • Crear un proyecto de Visual Studio.
  • Crear una aplicación de consola de C#.
  • Depure la aplicación.
  • Cerrar la aplicación.
  • Inspeccionar el código completo.

En la parte 2, ampliará esta aplicación para agregar más proyectos, aprender trucos de depuración y hacer referencia a paquetes de terceros.

Prerrequisitos

Debe tener instalado Visual Studio.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.

Si todavía no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.

Crear un proyecto

Para empezar, cree un proyecto de aplicación de C#. En el tipo de proyecto se incluyen todos los archivos de plantilla que necesita.

  1. Abra Visual Studio 2017.

  2. En la barra de menús superior, elija Archivo > Nuevo > Proyecto. (Como alternativa, presione Ctrl+Mayús+N).

  3. En el panel izquierdo del cuadro de diálogo Nuevo proyecto, expanda C# y elija .NET Core. En el panel central, elija Aplicación de consola (.NET Core) . Después, asigne al archivo el nombre Calculator.

    Captura de pantalla que muestra la plantilla de proyecto Aplicación de consola (.NET Core) en el cuadro de diálogo Nuevo proyecto en el IDE de Visual Studio.

Agregar una carga de trabajo (opcional)

Si no ve la plantilla de proyecto Aplicación de consola (.NET Core) , puede obtenerla si agrega la carga de trabajo Desarrollo multiplataforma de .NET Core. Esta es la manera de hacerlo.

Opción 1: Uso del cuadro de diálogo Nuevo proyecto

  1. Elija el vínculo Abrir el Instalador de Visual Studio en el panel de la izquierda del cuadro de diálogo Nuevo proyecto.

    Captura de pantalla que muestra la elección del vínculo Abrir el Instalador de Visual Studio del cuadro de diálogo Nuevo proyecto.

  2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET Core y, después, elija Modificar.

    Captura de pantalla que muestra la carga de trabajo de desarrollo multiplataforma de .NET Core en el Instalador de Visual Studio.

Opción 2: Uso de la barra del menú Herramientas

  1. Cancele para salir del cuadro de diálogo Nuevo proyecto y, en la barra de menús superior, seleccione Herramientas > Obtener herramientas y características.

  2. Se iniciará el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET Core y, después, elija Modificar.

  1. Abra Visual Studio y elija Crear un nuevo proyecto en la ventana Inicio.

    Captura de pantalla que muestra la ventana Crear un nuevo proyecto.

  2. En la ventana Crear un nuevo proyecto, elija C# en la lista Idioma. A continuación, seleccione Windows en la lista Plataforma y Consola en la lista Tipos de proyecto.

    Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación de consola y, luego, seleccione Siguiente.

    Nota

    Si no ve la plantilla Aplicación de consola, seleccione Instalar más herramientas y características.

    Captura de pantalla que muestra el vínculo Instalar más herramientas y características.

    Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo multiplataforma de .NET Core.

    Captura de pantalla que muestra la carga de trabajo de desarrollo multiplataforma de .NET Core en el Instalador de Visual Studio.

    Después, elija el botón Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su trabajo; si es así, hágalo. Seguidamente, elija Continuar para instalar la carga de trabajo. Luego, vuelva al paso 2 de este procedimiento "Crear un proyecto".

  3. En la ventana Configurar el nuevo proyecto, escriba Calculator en el cuadro Nombre del proyecto. Después, elija Siguiente.

    Captura de pantalla que muestra el nombre del proyecto "Calculator" en la ventana "Configurar el nuevo proyecto".

  4. En la ventana Información adicional, .NET Core 3.1 ya debe estar seleccionado para la plataforma de destino. Si no es así, seleccione .NET Core 3.1. Luego, elija Crear.

    Captura de pantalla que muestra cómo asegurarse de que .NET Core 3.1 está seleccionado en la ventana "Información adicional".

    Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo".

  1. Abra Visual Studio y elija Crear un nuevo proyecto en la ventana Inicio.

    Captura de pantalla que muestra la ventana Crear un nuevo proyecto.

  2. En la ventana Crear un nuevo proyecto, seleccione Todos los lenguajes y, a continuación, elija C# en la lista desplegable. Seleccione Windows en la lista Todas las plataformas y Consola en la lista Todos los tipos de proyecto.

    Después de aplicar los filtros de lenguaje, plataforma y tipo de proyecto, elija la plantilla Aplicación de consola y, luego, seleccione Siguiente.

    Nota

    Si no ve la plantilla Aplicación de consola, seleccione Instalar más herramientas y características.

    Captura de pantalla que muestra el vínculo Instalar más herramientas y características.

    En el Instalador de Visual Studio, elija la carga de trabajo de desarrollo de escritorio de .NET y, a continuación, seleccione Modificar.

    Captura de pantalla que muestra la carga de trabajo de desarrollo de escritorio de .NET seleccionada en el Instalador de Visual Studio.

  3. En la ventana Configurar el nuevo proyecto, escriba Calculator en el cuadro Nombre del proyecto y, a continuación, seleccione Siguiente.

    Captura de pantalla que muestra el nombre del proyecto "Calculator" en la ventana Configurar el nuevo proyecto.

  4. En la ventana Información adicional, .NET 6.0 ya debe estar seleccionado para la plataforma de destino. Seleccione Crear.

    Captura de pantalla que muestra .NET 6.0 seleccionado en la ventana Información adicional.

    Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo".

Creación de la aplicación

En esta sección:

  • Explora algunos cálculos de enteros básicos en C#.
  • Agrega código para crear una aplicación de calculadora básica.
  • Depura la aplicación para buscar y corregir errores.
  • Perfecciona el código para que sea más eficaz.

Análisis de las operaciones matemáticas con enteros

Empiece con algunos cálculos básicos de enteros en C#.

  1. En el editor de código, elimine el código predeterminado "Hello World".

    Captura de pantalla que muestra la eliminación del código "Hello World" predeterminado de la nueva aplicación de calculadora.

    En concreto, elimine la línea que dice Console.WriteLine("Hello World!");.

  2. En su lugar, escriba este código:

            int a = 42;
            int b = 119;
            int c = a + b;
            Console.WriteLine(c);
            Console.ReadKey();
    

    Tenga en cuenta que, al hacerlo, la función IntelliSense en Visual Studio le ofrece la opción de autocompletar la entrada.

    Nota

    La animación siguiente no está pensada para duplicar el código anterior. Su único fin es mostrar cómo funciona la característica Autocompletar.

    Animación de código de cálculos de enteros que muestra la función autocompletar de IntelliSense en el IDE de Visual Studio.

  3. Elija el botón verde Inicio junto a Calculadora para compilar y ejecutar el programa, o presione F5.

    Captura de pantalla que muestra la elección del botón Calculator para ejecutar la aplicación desde la barra de herramientas.

    Se abre una ventana de consola que muestra la suma de 42+119, cuyo resultado es 161.

    Captura de pantalla que muestra una ventana de consola con los resultados de cálculos de enteros.

  4. (Opcional) Puede modificar el operador para cambiar el resultado. Por ejemplo, puede cambiar el operador + en la línea de código int c = a + b; por - para la resta, * para la multiplicación o / para la división. A continuación, al ejecutar el programa, el resultado también cambia.

  5. Cierre la ventana de la consola.

  1. En el Explorador de soluciones, en el panel derecho, seleccione Program.cs para mostrar el archivo en el editor de código

  2. En el editor de código, reemplace el código predeterminado "Hello World" que dice Console.WriteLine("Hello World!");.

    Captura de pantalla que muestra la línea que se reemplazará en el archivo de programa.

    Reemplace la línea por el código siguiente:

        int a = 42;
        int b = 119;
        int c = a + b;
        Console.WriteLine(c);
        Console.ReadKey();
    

    Si escribe el código, la característica IntelliSense de Visual Studio le ofrece la opción de autocompletar la entrada.

    Nota

    La animación siguiente no está pensada para mostrar el código anterior, sino solo para mostrar cómo funciona IntelliSense.

    Animación de código de cálculos de enteros que muestra la función autocompletar de IntelliSense en el IDE de Visual Studio.

  3. Para compilar y ejecutar la aplicación, presione F5 o seleccione la flecha verde junto al nombre Calculator en la barra de herramientas superior.

    Captura de pantalla que muestra cómo seleccionar el botón Calculator para ejecutar la aplicación desde la barra de herramientas de depuración.

    Se abre una ventana de consola que muestra la suma de 42+119, cuyo resultado es 161.

    Captura de pantalla de una ventana de consola que muestra los resultados de cálculos de enteros.

  4. Cierre la ventana de la consola.

  5. Opcionalmente, puede modificar el operador para cambiar el resultado. Por ejemplo, puede cambiar el operador + en la línea de código int c = a + b; por - para la resta, * para la multiplicación o / para la división. Al ejecutar la aplicación, el resultado cambia en consecuencia.

Incorporación de código para crear una calculadora

Proceda a agregar al proyecto un conjunto más complejo de código de la calculadora.

  1. En el editor de código, reemplace todo el código de program.cs por el siguiente código nuevo:

    using System;
    
    namespace Calculator
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Declare variables and then initialize to zero.
                int num1 = 0; int num2 = 0;
    
                // Display title as the C# console calculator app.
                Console.WriteLine("Console Calculator in C#\r");
                Console.WriteLine("------------------------\n");
    
                // Ask the user to type the first number.
                Console.WriteLine("Type a number, and then press Enter");
                num1 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to type the second number.
                Console.WriteLine("Type another number, and then press Enter");
                num2 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to choose an option.
                Console.WriteLine("Choose an option from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                // Use a switch statement to do the math.
                switch (Console.ReadLine())
                {
                    case "a":
                        Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
                        break;
                    case "s":
                        Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
                        break;
                    case "m":
                        Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
                        break;
                    case "d":
                        Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                        break;
                }
                // Wait for the user to respond before closing.
                Console.Write("Press any key to close the Calculator console app...");
                Console.ReadKey();
            }
        }
    }
    
  2. Seleccione el botón Calculator o presione F5 para ejecutar la aplicación.

    Se abre una ventana de consola.

  3. En la ventana de consola, siga las indicaciones para agregar los números 42 y 119 juntos.

    La ventana de consola debe ser similar a la de la siguiente captura de pantalla:

    Captura de pantalla de una ventana de consola que muestra la aplicación Calculator con mensajes.

Adición de funcionalidad decimal

Ahora, retoque el código para agregarle más funcionalidad.

La aplicación Calculator actual acepta y devuelve números enteros. Por ejemplo, si ejecuta la aplicación y divide el número 42 entre el número 119, el resultado es cero, lo cual no es correcto.

Captura de pantalla de una ventana de consola que muestra la aplicación Calculator que devuelve un número entero incorrecto como resultado.

Para corregir el código a fin de mejorar la precisión mediante el control de decimales:

  1. En program.cs en el editor de Visual Studio, presione Ctrl+H para abrir el control Buscar y reemplazar.

  2. Escriba int en el control y escriba float en el campo Reemplazar.

  3. Seleccione los iconos de Coincidir mayúsculas y minúsculas y Solo palabras completas en el control, o presione Alt+C y Alt+W.

  4. Seleccione el icono Reemplazar todo o presione Alt+A para ejecutar la búsqueda y reemplazar.

    Animación del control Buscar y reemplazar donde se muestra cómo cambiar la variable int a float.

  5. Vuelva a ejecutar la aplicación Calculator y divida el número 42 entre el número 119.

    Ahora la aplicación devuelve un número decimal en lugar de cero.

    Captura de pantalla de una ventana de consola que muestra la aplicación Calculator que ahora devuelve un número con decimales como resultado.

Ahora la aplicación puede generar resultados decimales. Haga algunos retoques más en el código para que la aplicación calcule decimales también.

  1. Use el control Buscar y reemplazar para cambiar cada instancia de la variable float a double y cambiar cada instancia del método Convert.ToInt32 a Convert.ToDouble.

  2. Ejecute la aplicación Calculator y divida el número 42.5 entre el número 119.75.

    Ahora la aplicación acepta valores decimales y devuelve un número decimal más largo como resultado.

    Captura de pantalla de una ventana de consola que muestra la aplicación Calculator que ahora acepta valores decimales y devuelve un número decimal más largo como resultado.

    En la sección Revisar el código, reduce el número de posiciones decimales en los resultados.

Depurar la aplicación

Ha mejorado la aplicación de calculadora básica, pero la aplicación aún no controla las excepciones, como los errores de entrada del usuario. Por ejemplo, si los usuarios intentan dividir entre cero o escribir un carácter inesperado, es posible que la aplicación deje de funcionar, devuelva un error o devuelva un resultado no numérico inesperado.

Vamos a ver algunos errores comunes de entrada de usuario, a localizarlos en el depurador si aparecen allí y a corregirlos en el código.

Sugerencia

Para más información sobre el depurador y cómo funciona, consulte Primer vistazo al depurador de Visual Studio.

Corregir el error "división entre cero"

Al intentar dividir un número entre cero, es posible que la aplicación de consola se inmovilice y, luego, muestre el problema en el editor de código.

Captura de pantalla del editor de código de Visual Studio en la que se muestra una línea resaltada en amarillo y un error de excepción no controlada para "Attempted to divide by zero" (Intento de división entre cero).

Nota

A veces, la aplicación no se inmoviliza ni el depurador muestra un error de división por cero, sino que la aplicación puede devolver un resultado no numérico inesperado, como un símbolo de infinito. La corrección de código siguiente sigue siendo válida.

Para cambiar el código para controlar este error:

  1. En program.cs, reemplace el código entre case "d": y el comentario que dice // Wait for the user to respond before closing por el código siguiente:

             // Ask the user to enter a non-zero divisor until they do so.
                 while (num2 == 0)
                 {
                     Console.WriteLine("Enter a non-zero divisor: ");
                     num2 = Convert.ToInt32(Console.ReadLine());
                 }
                 Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                 break;
         }
    

    Después de reemplazar el código, la sección con la instrucción switch debe ser similar a la de la siguiente captura de pantalla:

    Captura de pantalla que muestra la sección "switch" revisada en el editor de código de Visual Studio.

Ahora, al dividir cualquier número entre cero, la aplicación pide otro número y sigue pidiendo hasta que proporciona un número distinto de cero.

Captura de pantalla de una ventana de consola con un mensaje repetido para proporcionar un número distinto de cero.

Corregir el error de "formato"

Si escribe un carácter alfabético cuando la aplicación espera un carácter numérico, la aplicación se inmoviliza. Visual Studio señala qué es incorrecto en el editor de código.

Captura de pantalla que muestra un error de formato no controlado en el editor de código de Visual Studio.

Captura de pantalla que muestra un error de formato no controlado en el editor de código de Visual Studio.

Para evitar esta excepción, puede refactorizar el código que ha especificado anteriormente.

Revisar el código

En lugar de usar la clase program para controlar todo el código, puede dividir su aplicación en dos clases: Calculator y Program.

La clase Calculator controla la mayor parte del trabajo de cálculo, mientras que la clase Program controla la interfaz de usuario y el trabajo de captura de errores.

Comencemos.

  1. En program.cs, elimine todo en el espacio de nombres Calculator entre las llaves de apertura y cierre:

    using System;
    
    namespace Calculator
    {
    
    }
    
  2. Entre las llaves, agregue la siguiente clase Calculator nueva:

    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error.
    
            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }
    
    
  3. Agregue también una nueva clase Program, como se indica a continuación:

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");
    
            while (!endApp)
            {
                // Declare variables and set to empty.
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;
    
                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();
    
                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput1 = Console.ReadLine();
                }
    
                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();
    
                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput2 = Console.ReadLine();
                }
    
                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                string op = Console.ReadLine();
    
                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }
    
                Console.WriteLine("------------------------\n");
    
                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;
    
                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
    
  4. Seleccione el botón Calculator o presione F5 para ejecutar la aplicación.

  5. Siga las indicaciones y divida el número 42 entre el número 119. Los resultados deben presentar un aspecto similar al de la captura de pantalla siguiente:

    Captura de pantalla que muestra una ventana de consola con la aplicación Calculator refactorizada.

    Captura de pantalla que muestra una ventana de consola con la aplicación Calculator refactorizada.

    Ahora puede escribir más ecuaciones hasta que decida cerrar la aplicación de consola. También hay menos posiciones decimales en los resultados. Y si escribe un carácter incorrecto, obtendrá una respuesta de error adecuada.

Cierre la aplicación

  1. Si aún no lo ha hecho, cierre la aplicación de calculadora.

  2. Cierre el panel Salida en Visual Studio.

    Captura de pantalla que muestra el cierre del panel Salida en Visual Studio.

  3. En Visual Studio, presione Ctrl+G para guardar la aplicación.

Adición de control de código fuente Git

Ahora que ha creado una aplicación, es posible que quiera agregarla a un repositorio de Git. Tenemos lo que necesita. Visual Studio facilita el proceso con las herramientas de Git que puede usar directamente desde el IDE.

Sugerencia

Git es el sistema de control de versiones moderno más usado, por lo que, tanto si es un desarrollador profesional como si está aprendiendo a codificar, Git puede ser muy útil. Si ha empezado a usar Git recientemente, el sitio web https://git-scm.com/ es un buen punto de partida. Allí encontrará hojas de referencia rápida, un libro en línea conocido y vídeos de conceptos básicos de Git.

Para asociar el código a Git, empiece por crear un nuevo repositorio de Git donde se encuentra el código. A continuación se muestra cómo hacerlo:

  1. En la barra de estado de la esquina inferior derecha de Visual Studio, seleccione Agregar al control de código fuente y, a continuación, Git.

    Captura de pantalla de los botones de control de código fuente debajo del panel Explorador de soluciones, con el botón Agregar al control de código fuente resaltado.

  2. Cuadro de diálogo Crear un repositorio GIT inicie sesión en GitHub.

    Captura de pantalla de la ventana de diálogo Crear un repositorio de Git donde puede iniciar sesión en GitHub.

    El nombre del repositorio se rellena automáticamente en función de la ubicación de la carpeta. De forma predeterminada, el nuevo repositorio es privado, lo que significa que usted es el único que puede acceder a él.

    Sugerencia

    Tanto si el repositorio es público como privado, es mejor tener una copia de seguridad remota del código almacenada de forma segura en GitHub. Incluso si no trabaja con un equipo, un repositorio remoto pone el código a su disposición desde cualquier equipo.

  3. Seleccione Crear e insertar.

    Después de crear el repositorio, verá los detalles de estado en la barra de estado.

    Captura de pantalla de la barra de estado del repositorio que está debajo del panel Explorador de soluciones en Visual Studio.

    El primer icono con las flechas muestra cuántas confirmaciones salientes o entrantes hay en la rama actual. Puede usar este icono para extraer las confirmaciones entrantes o insertar las confirmaciones salientes. Puede elegir ver estas confirmaciones en primer lugar. Para ello, seleccione el icono y, a continuación, Ver salientes y entrantes.

    El segundo icono con el lápiz muestra el número de cambios no confirmados en el código. Puede seleccionar este icono para ver esos cambios en la ventana Cambios de Git.

Para obtener más información sobre cómo usar Git con la aplicación, consulte la documentación del control de versiones de Visual Studio.

Revisión: código completado

En este tutorial, ha realizado muchos cambios en la aplicación de calculadora. Ahora la aplicación controla los recursos de cálculo más eficazmente y trata la mayoría de los errores de entrada de usuario.

Este es el código completo:


using System;

namespace Calculator
{
    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.

            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");

            while (!endApp)
            {
                // Declare variables and set to empty.
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;

                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();

                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput1 = Console.ReadLine();
                }

                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();

                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput2 = Console.ReadLine();
                }

                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");

                string op = Console.ReadLine();

                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }

                Console.WriteLine("------------------------\n");

                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;

                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
}

Pasos siguientes