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, va a completar las siguientes tareas:

  • 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.

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 y seleccioneCrear un nuevo proyecto en la ventana Inicio.

    Screenshot that shows the Create a new project window.

  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.

    Screenshot that shows the Install more tools and features link.

    En Instalador de Visual Studio, seleccione la carga de trabajo Desarrollo multiplataforma de .NET Core.

    Screenshot showing the .NET Core cross-platform development workload in the Visual Studio Installer.

    Seleccione Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su trabajo. Seleccione Continuar para instalar la carga de trabajo.

    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, seleccione Siguiente.

    Screenshot that shows how to name your project 'Calculator' in the 'Configure your new project' window in Visual Studio.

  4. En la ventana Información adicional, compruebe que .NET Core 3.1 aparece en el campo Plataforma de destino. Seleccione Crear.

    Screenshot of the Additional information window in Visual Studio showing .NET Core 3.1 as the target framework for the new project.

Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo". Para verlo en el editor, seleccione el archivo de código Program.cs en la ventana del Explorador de soluciones, que normalmente se encuentra en el lado derecho de Visual Studio.

El código predeterminado "Hola mundo" llama al método WriteLine para mostrar la cadena literal "¡Hola mundo!" en la ventana de consola. Si presiona F5, puede ejecutar el programa predeterminado en modo de depuración. Una vez que la aplicación se ejecuta en el depurador, la ventana de la consola permanece abierta. Presione cualquier tecla para cerrar la ventana de consola.

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

    Screenshot that shows the Create a new project window.

  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.

    Screenshot that shows the Install more tools and features link.

    En Instalador de Visual Studio, seleccione la carga de trabajo Desarrollo de escritorio de .NET.

    Screenshot showing the .NET desktop development workload in the Visual Studio Installer.

    Seleccione Modificar en el Instalador de Visual Studio. Es posible que se le pida que guarde su trabajo. Seleccione Continuar para instalar la carga de trabajo.

    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 y, a continuación, seleccione Siguiente.

    Screenshot that shows how to name your project 'Calculator' in the 'Configure your new project' window in Visual Studio.

  4. En la ventana Información adicional seleccione .NET 8.0 para el campo Plataforma de destino. Seleccione Crear.

    Screenshot of the Additional information window in Visual Studio showing .NET 8.0 selected as the target framework for the new project.

Visual Studio abre el nuevo proyecto, que incluye código predeterminado de "Hola mundo". Para verlo en el editor, seleccione el archivo de código Program.cs en la ventana del Explorador de soluciones, que normalmente se encuentra en el lado derecho de Visual Studio.

La instrucción de código única llama al método WriteLine para mostrar la cadena literal "¡Hola mundo!" en la ventana de consola. Si presiona F5, puede ejecutar el programa predeterminado en modo de depuración. Una vez que la aplicación se ejecuta en el depurador, la ventana de la consola permanece abierta. Presione cualquier tecla para cerrar la ventana de consola.

Nota

A partir de .NET 6, los nuevos proyectos que usan la plantilla de consola generan código diferente al de versiones anteriores. Para obtener más información, consulte la página Las nuevas plantillas de C# generan instrucciones de nivel superior.

Creación de la aplicación

En esta sección, completará las tareas siguientes:

  • 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".

    Screenshot that shows deleting the default Hello World code from your new calculator app.

    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.

    Animation of integer math code that shows the IntelliSense autocomplete feature in the Visual Studio IDE.

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

    Screenshot that shows choosing the Calculator button to run the app from the toolbar.

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

    Screenshot that shows a console window with the results of integer math.

  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!");.

    Screenshot that shows the line to replace in the program file.

    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.

    Animation of integer math code that shows the IntelliSense autocomplete feature in the Visual Studio IDE.

  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.

    Screenshot that showing selecting the Calculator button to run the app from the Debug toolbar.

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

    Screenshot of a Console window showing the results of integer math.

  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:

    Screenshot of a Console window showing the Calculator app with prompts.

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

        // 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:

    Screenshot of a Console window showing the Calculator app with prompts.

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.

Screenshot of a Console window that shows the Calculator app returning an inexact whole number as a result.

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.

    Animation of the Find and Replace control showing how to change the int variable to 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.

    Screenshot of a Console window showing the Calculator app that now returns a decimal numeral as a result.

    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.

  6. 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.

  7. 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.

    Screenshot of a Console window showing the Calculator app that now accepts decimal numbers and returns a longer decimal result.

    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 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.

Screenshot of the Visual Studio code editor showing a line highlighted in yellow and an Exception Unhandled error for 'Attempted to divide by zero'.

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.

Vamos a cambiar el código para controlar este error. En Program.cs, reemplace el código de case "d": 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:

Screenshot showing the revised switch section in the Visual Studio code editor.

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.

Screenshot of a Console window with a repeated prompt to provide a nonzero number.

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.

Screenshot showing an unhandled format error in the Visual Studio code editor.

Screenshot showing an unhandled format error in the Visual Studio code editor.

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 y agregue la siguiente clase nueva Calculator:

    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;
        }
    }
    
    
  2. 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;
        }
    }
    
  3. Seleccione el botón Calculator o presione F5 para ejecutar la aplicación.

  4. 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:

    Screenshot showing a Console window with the refactored Calculator app.

    Screenshot showing a Console window with the refactored Calculator app.

    Ahora puede ejecutar más cálculos 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.

    Screenshot that shows closing the Output pane in 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. 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.

  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.

    Screenshot of the Git source control buttons below the Solution Explorer pane, with the Add to Source Control button highlighted.

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

    Screenshot of the Create a Git Repository dialog window where you can sign in to 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.

    Screenshot of the repo status bar that's below the Solution Explorer pane in 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 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:


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

Continúe con la segunda parte de este tutorial: