{"id":675,"date":"2023-11-16T18:33:22","date_gmt":"2023-11-16T21:33:22","guid":{"rendered":"https:\/\/stackcodelab.com\/blog\/?p=675"},"modified":"2023-12-03T11:24:55","modified_gmt":"2023-12-03T14:24:55","slug":"desarrollo-de-aplicaciones-de-consola-en-c","status":"publish","type":"post","link":"https:\/\/stackcodelab.com\/blog\/desarrollo-de-aplicaciones-de-consola-en-c\/","title":{"rendered":"Desarrollo de Aplicaciones de Consola en C#"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Las aplicaciones de consola, tambi\u00e9n conocidas como programas de consola o aplicaciones de l\u00ednea de comandos, son programas inform\u00e1ticos que interact\u00faan con el usuario a trav\u00e9s de una interfaz de texto en la l\u00ednea de comandos, como la ventana de la terminal o el s\u00edmbolo del sistema en sistemas operativos como Windows, macOS y Linux. Estas aplicaciones se ejecutan en un entorno de l\u00ednea de comandos y permiten a los usuarios ingresar comandos o datos de texto para realizar diversas tareas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La utilidad de las aplicaciones de consola en el desarrollo de software es variada y fundamental en muchos aspectos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Automatizaci\u00f3n de Tareas:<\/strong> Las aplicaciones de consola se utilizan para automatizar tareas repetitivas o procesos por lotes. Los desarrolladores pueden escribir secuencias de comandos que realicen acciones espec\u00edficas de manera automatizada, lo que ahorra tiempo y minimiza errores.<\/li>\n\n\n\n<li><strong>Procesamiento de Datos:<\/strong> Son ideales para el procesamiento de datos en lote. Pueden leer datos desde archivos, bases de datos u otras fuentes, procesarlos y generar informes o resultados de manera eficiente.<\/li>\n\n\n\n<li><strong>Pruebas R\u00e1pidas:<\/strong> Las aplicaciones de consola son \u00fatiles para realizar pruebas de concepto r\u00e1pidas y prototipos. Los desarrolladores pueden escribir y ejecutar c\u00f3digo de manera interactiva para validar ideas y funcionalidades.<\/li>\n\n\n\n<li><strong>Herramientas de Administraci\u00f3n:<\/strong> En entornos de administraci\u00f3n de sistemas, las aplicaciones de consola son esenciales para realizar tareas de gesti\u00f3n, configuraci\u00f3n y supervisi\u00f3n de sistemas y servidores.<\/li>\n\n\n\n<li><strong>Depuraci\u00f3n:<\/strong> Los desarrolladores a menudo utilizan aplicaciones de consola para depurar y rastrear problemas en sus programas, ya que pueden imprimir mensajes de depuraci\u00f3n en la consola para analizar el comportamiento del software.<\/li>\n\n\n\n<li><strong>Interfaz de Usuario de Texto:<\/strong> En algunos casos, las aplicaciones de consola ofrecen una interfaz de usuario de texto m\u00e1s simple y r\u00e1pida que las aplicaciones de escritorio o web, lo que las hace adecuadas para ciertas tareas.<\/li>\n\n\n\n<li><strong>Scripting:<\/strong> Son una plataforma com\u00fan para escribir scripts en lenguajes como Python, Perl o PowerShell para una amplia variedad de tareas, desde administraci\u00f3n de sistemas hasta an\u00e1lisis de datos.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, las aplicaciones de consola son una herramienta vers\u00e1til y poderosa en el desarrollo de software que brinda a los desarrolladores la capacidad de interactuar con sistemas y datos de manera eficiente a trav\u00e9s de comandos de texto. Son particularmente \u00fatiles en escenarios donde la automatizaci\u00f3n, el procesamiento por lotes y la eficiencia en la l\u00ednea de comandos son esenciales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El enfoque en la creaci\u00f3n de aplicaciones de consola en C# se centra en desarrollar programas que se ejecutan en un entorno de l\u00ednea de comandos y que interact\u00faan con el usuario a trav\u00e9s de la consola del sistema. Estas aplicaciones pueden recibir entrada del usuario, procesar datos, realizar c\u00e1lculos, mostrar resultados y ofrecer una experiencia interactiva a trav\u00e9s de texto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La interacci\u00f3n con el usuario a trav\u00e9s de la consola implica el uso de m\u00e9todos para recibir y mostrar informaci\u00f3n. En C#, puedes utilizar las clases y m\u00e9todos proporcionados por el espacio de nombres <code>System.Console<\/code> para realizar estas operaciones. Algunas de las operaciones comunes que puedes realizar en aplicaciones de consola en C# incluyen:<strong>Mostrar Texto:<\/strong> Puedes utilizar <code>Console.WriteLine()<\/code> o <code>Console.Write()<\/code> para mostrar mensajes, resultados o instrucciones al usuario en la consola.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mostrar Texto:<\/strong> Puedes utilizar <code>Console.WriteLine()<\/code> o <code>Console.Write()<\/code> para mostrar mensajes, resultados o instrucciones al usuario en la consola.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.WriteLine(\"Hola, mundo!\");<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Leer Entrada del Usuario:<\/strong> Puedes utilizar <code>Console.ReadLine()<\/code> para recibir entrada de texto ingresada por el usuario. Esto es \u00fatil para solicitar informaci\u00f3n o datos espec\u00edficos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.Write(\"Ingrese un n\u00famero: \");\r\nint numero = int.Parse(Console.ReadLine());\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Manejar Men\u00fas y Opciones:<\/strong> Puedes crear men\u00fas y opciones para que el usuario seleccione acciones espec\u00edficas en la aplicaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.WriteLine(\"1. Opci\u00f3n 1\");\r\nConsole.WriteLine(\"2. Opci\u00f3n 2\");\r\nConsole.Write(\"Seleccione una opci\u00f3n: \");\r\nint opcion = int.Parse(Console.ReadLine());\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Limpiar la Consola:<\/strong> Puedes utilizar <code>Console.Clear()<\/code> para limpiar la pantalla de la consola y mantener una presentaci\u00f3n limpia y organizada.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Console.Clear();<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Colores y Estilos:<\/strong> Tambi\u00e9n es posible cambiar los colores y estilos del texto en la consola para hacer que la salida sea m\u00e1s legible o atractiva visualmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estos son solo algunos ejemplos de c\u00f3mo interactuar con el usuario a trav\u00e9s de la consola en C#. Las aplicaciones de consola son \u00fatiles para tareas como la creaci\u00f3n de herramientas de l\u00ednea de comandos, juegos basados en texto, programas de administraci\u00f3n y mucho m\u00e1s. A medida que avances en el desarrollo de aplicaciones de consola en C#, aprender\u00e1s a utilizar estas capacidades para crear programas interactivos y eficientes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Creaci\u00f3n de Aplicaciones de Consola en C#:<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear un proyecto de aplicaci\u00f3n de consola en C# y comprender su estructura b\u00e1sica, sigue estos pasos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Abrir Visual Studio (o IDE similar)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abre tu entorno de desarrollo integrado (IDE) preferido, como Visual Studio, Visual Studio Code o Rider. Aseg\u00farate de tener instalado el SDK de .NET en tu sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Crear un Nuevo Proyecto<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ve al men\u00fa \u00abArchivo\u00bb (o \u00abFile\u00bb) y selecciona \u00abNuevo\u00bb (o \u00abNew\u00bb).<\/li>\n\n\n\n<li>Luego, selecciona \u00abProyecto\u00bb (o \u00abProject\u00bb).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Seleccionar Tipo de Proyecto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el cuadro de di\u00e1logo de creaci\u00f3n de proyectos, busca \u00abConsola\u00bb o \u00abConsole\u00bb en las plantillas de proyectos disponibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Configurar el Proyecto<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Asigna un nombre al proyecto y elige la ubicaci\u00f3n donde deseas guardarlo.<\/li>\n\n\n\n<li>Haz clic en \u00abCrear\u00bb (o \u00abCreate\u00bb) para crear el proyecto de aplicaci\u00f3n de consola.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Estructura B\u00e1sica del Proyecto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez creado el proyecto, ver\u00e1s una estructura b\u00e1sica que incluir\u00e1 al menos dos archivos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Program.cs<\/strong>: Este archivo contiene el punto de entrada principal (<code>Main<\/code>) de tu aplicaci\u00f3n de consola. Aqu\u00ed es donde comienza la ejecuci\u00f3n del programa.<\/li>\n\n\n\n<li><strong>bin\/ y obj\/<\/strong>: Estos directorios son generados por el proceso de compilaci\u00f3n y contienen los archivos ejecutables y otros archivos de construcci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 6: Editar Program.cs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abre el archivo <code>Program.cs<\/code> en tu IDE. En este archivo, ver\u00e1s un c\u00f3digo b\u00e1sico que luce algo como esto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace MiAppDeConsola\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.WriteLine(\"Hola, mundo!\");\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La l\u00ednea <code>using System;<\/code> indica que estamos utilizando el espacio de nombres <code>System<\/code>, que proporciona clases b\u00e1sicas de .NET.<\/li>\n\n\n\n<li>La declaraci\u00f3n <code>namespace MiAppDeConsola<\/code> define el espacio de nombres para este proyecto.<\/li>\n\n\n\n<li>La clase <code>Program<\/code> contiene el m\u00e9todo <code>Main<\/code>, que es el punto de entrada del programa. En este ejemplo, se muestra un mensaje en la consola con <code>Console.WriteLine(\"Hola, mundo!\");<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 7: Compilaci\u00f3n y Ejecuci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para compilar y ejecutar la aplicaci\u00f3n de consola, puedes hacer lo siguiente:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Guarda los cambios en el archivo <code>Program.cs<\/code>.<\/li>\n\n\n\n<li>En tu IDE, busca la opci\u00f3n para compilar y ejecutar el proyecto. Esto generalmente se hace presionando F5 o haciendo clic en un bot\u00f3n de inicio o reproducci\u00f3n.<\/li>\n\n\n\n<li>Ver\u00e1s la salida del programa en la consola, que mostrar\u00e1 el mensaje \u00abHola, mundo!\u00bb en este caso.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1Listo! Has creado y ejecutado una aplicaci\u00f3n de consola en C#. A partir de aqu\u00ed, puedes comenzar a desarrollar aplicaciones m\u00e1s complejas e interactivas que se ejecuten en un entorno de l\u00ednea de comandos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Interacci\u00f3n con el Usuario a trav\u00e9s de la Consola:<\/strong><\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para interactuar con el usuario a trav\u00e9s de la consola en una aplicaci\u00f3n de consola C#, puedes utilizar m\u00e9todos como <code>Console.WriteLine<\/code>, <code>Console.Write<\/code> y <code>Console.ReadLine<\/code>. Aqu\u00ed te muestro c\u00f3mo se utilizan estos m\u00e9todos junto con ejemplos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Console.WriteLine<\/code>: Este m\u00e9todo se utiliza para mostrar texto en la consola y luego mover el cursor a la siguiente l\u00ednea.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Console.WriteLine(\u00abHola, mundo!\u00bb); <em>\/\/ Muestra \u00abHola, mundo!\u00bb y cambia de l\u00ednea<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Console.Write<\/code>: Similar a <code>Console.WriteLine<\/code>, pero no cambia de l\u00ednea despu\u00e9s de mostrar el texto.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Console.Write(\u00abIngresa tu nombre: \u00ab);<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Console.ReadLine<\/code>: Este m\u00e9todo se utiliza para capturar la entrada del usuario desde la consola. Lee una l\u00ednea de texto hasta que el usuario presione la tecla \u00abEnter\u00bb y devuelve esa l\u00ednea como una cadena.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">string nombre = Console.ReadLine();<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo que utiliza estos m\u00e9todos para solicitar el nombre del usuario y luego mostrar un saludo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace MiAppDeConsola\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.Write(\"Ingresa tu nombre: \"); \/\/ Pide al usuario que ingrese su nombre\r\n            string nombre = Console.ReadLine(); \/\/ Lee el nombre ingresado\r\n\r\n            \/\/ Muestra un saludo personalizado\r\n            Console.WriteLine($\"\u00a1Hola, {nombre}!\");\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando ejecutes este programa, solicitar\u00e1 al usuario que ingrese su nombre, lo almacenar\u00e1 en la variable <code>nombre<\/code> y luego mostrar\u00e1 un saludo personalizado. Puedes continuar utilizando estos m\u00e9todos para crear aplicaciones de consola interactivas y capturar la entrada del usuario seg\u00fan sea necesario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Aplicaci\u00f3n de Consola de Saludo:<\/strong><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creaci\u00f3n de una aplicaci\u00f3n de consola que saluda al usuario.<\/li>\n\n\n\n<li>Captura del nombre del usuario y muestra un mensaje de saludo personalizado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo de c\u00f3mo crear una aplicaci\u00f3n de consola en C# que saluda al usuario, captura su nombre y muestra un mensaje de saludo personalizado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace SaludoConsola\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.WriteLine(\"\u00a1Bienvenido a la aplicaci\u00f3n de saludo!\");\r\n\r\n            Console.Write(\"Por favor, ingresa tu nombre: \");\r\n            string nombre = Console.ReadLine();\r\n\r\n            \/\/ Muestra un saludo personalizado\r\n            Console.WriteLine($\"Hola, {nombre}. \u00a1Bienvenido a la aplicaci\u00f3n de saludo!\");\r\n\r\n            \/\/ Espera a que el usuario presione una tecla para salir\r\n            Console.WriteLine(\"Presiona cualquier tecla para salir...\");\r\n            Console.ReadKey();\r\n        }\r\n    }\r\n}\r\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En este programa:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Mostramos un mensaje de bienvenida.<\/li>\n\n\n\n<li>Solicitamos al usuario que ingrese su nombre utilizando <code>Console.Write<\/code> y capturamos la entrada con <code>Console.ReadLine<\/code>.<\/li>\n\n\n\n<li>Usamos la interpolaci\u00f3n de cadenas para mostrar un saludo personalizado que incluye el nombre del usuario.<\/li>\n\n\n\n<li>Finalmente, le decimos al usuario que presione cualquier tecla para salir de la aplicaci\u00f3n utilizando <code>Console.ReadKey<\/code>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando ejecutes este programa, se mostrar\u00e1 un mensaje de bienvenida, solicitar\u00e1 tu nombre, te saludar\u00e1 personalmente y luego esperar\u00e1 a que presiones cualquier tecla para salir de la aplicaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Procesamiento de Entrada y Salida en Consola:<\/strong><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manipulaci\u00f3n de datos ingresados por el usuario desde la consola.<\/li>\n\n\n\n<li>Validaci\u00f3n y conversi\u00f3n de entrada de usuario.<\/li>\n\n\n\n<li>Uso de operadores y estructuras de control en aplicaciones de consola.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Manipular datos ingresados por el usuario desde la consola en una aplicaci\u00f3n C# implica realizar varias tareas, como la validaci\u00f3n y conversi\u00f3n de la entrada del usuario, as\u00ed como el uso de operadores y estructuras de control para realizar acciones espec\u00edficas en funci\u00f3n de la entrada. Aqu\u00ed hay un ejemplo de c\u00f3mo puedes realizar estas tareas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace ManipulacionDatosConsola\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.WriteLine(\"Calculadora de Edad\");\r\n\r\n            Console.Write(\"Por favor, ingresa tu a\u00f1o de nacimiento: \");\r\n            string input = Console.ReadLine();\r\n\r\n            if (int.TryParse(input, out int a\u00f1oNacimiento))\r\n            {\r\n                \/\/ Obt\u00e9n el a\u00f1o actual\r\n                int a\u00f1oActual = DateTime.Now.Year;\r\n\r\n                \/\/ Calcula la edad\r\n                int edad = a\u00f1oActual - a\u00f1oNacimiento;\r\n\r\n                \/\/ Muestra la edad\r\n                Console.WriteLine($\"Tienes {edad} a\u00f1os.\");\r\n            }\r\n            else\r\n            {\r\n                Console.WriteLine(\"El a\u00f1o ingresado no es v\u00e1lido.\");\r\n            }\r\n\r\n            \/\/ Espera a que el usuario presione una tecla para salir\r\n            Console.WriteLine(\"Presiona cualquier tecla para salir...\");\r\n            Console.ReadKey();\r\n        }\r\n    }\r\n}\r\n\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Solicitamos al usuario que ingrese su a\u00f1o de nacimiento.<\/li>\n\n\n\n<li>Utilizamos <code>int.TryParse<\/code> para validar y convertir la entrada del usuario en un valor entero (a\u00f1o de nacimiento).<\/li>\n\n\n\n<li>Si la conversi\u00f3n es exitosa, calculamos la edad restando el a\u00f1o de nacimiento del a\u00f1o actual.<\/li>\n\n\n\n<li>Mostramos la edad calculada al usuario.<\/li>\n\n\n\n<li>Si la conversi\u00f3n no es exitosa (por ejemplo, si el usuario ingresa un valor no num\u00e9rico), mostramos un mensaje de error.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a><strong>Ejemplo: Calculadora en Consola:<\/strong><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creaci\u00f3n de una calculadora en una aplicaci\u00f3n de consola.<\/li>\n\n\n\n<li>Captura de n\u00fameros y operaciones desde el usuario y muestra el resultado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo de c\u00f3mo crear una calculadora simple en una aplicaci\u00f3n de consola en C#. Esta calculadora permitir\u00e1 al usuario realizar operaciones de suma, resta, multiplicaci\u00f3n y divisi\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace CalculadoraConsola\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.WriteLine(\"Calculadora Simple\");\r\n\r\n            while (true)\r\n            {\r\n                Console.Write(\"Ingresa el primer n\u00famero: \");\r\n                if (!double.TryParse(Console.ReadLine(), out double num1))\r\n                {\r\n                    Console.WriteLine(\"Entrada no v\u00e1lida. Por favor, ingresa un n\u00famero.\");\r\n                    continue;\r\n                }\r\n\r\n                Console.Write(\"Ingresa el segundo n\u00famero: \");\r\n                if (!double.TryParse(Console.ReadLine(), out double num2))\r\n                {\r\n                    Console.WriteLine(\"Entrada no v\u00e1lida. Por favor, ingresa un n\u00famero.\");\r\n                    continue;\r\n                }\r\n\r\n                Console.WriteLine(\"Selecciona una operaci\u00f3n:\");\r\n                Console.WriteLine(\"1. Suma\");\r\n                Console.WriteLine(\"2. Resta\");\r\n                Console.WriteLine(\"3. Multiplicaci\u00f3n\");\r\n                Console.WriteLine(\"4. Divisi\u00f3n\");\r\n                Console.Write(\"Tu elecci\u00f3n (1\/2\/3\/4): \");\r\n\r\n                if (!int.TryParse(Console.ReadLine(), out int opcion) || opcion &lt; 1 || opcion > 4)\r\n                {\r\n                    Console.WriteLine(\"Opci\u00f3n no v\u00e1lida. Por favor, selecciona una operaci\u00f3n v\u00e1lida.\");\r\n                    continue;\r\n                }\r\n\r\n                double resultado = RealizarOperacion(num1, num2, opcion);\r\n                Console.WriteLine($\"Resultado: {resultado}\");\r\n\r\n                Console.Write(\"\u00bfDeseas hacer otra operaci\u00f3n? (S\/N): \");\r\n                string respuesta = Console.ReadLine().Trim().ToUpper();\r\n                if (respuesta != \"S\")\r\n                    break;\r\n            }\r\n        }\r\n\r\n        static double RealizarOperacion(double num1, double num2, int opcion)\r\n        {\r\n            switch (opcion)\r\n            {\r\n                case 1:\r\n                    return num1 + num2;\r\n                case 2:\r\n                    return num1 - num2;\r\n                case 3:\r\n                    return num1 * num2;\r\n                case 4:\r\n                    if (num2 == 0)\r\n                    {\r\n                        Console.WriteLine(\"Error: Divisi\u00f3n por cero.\");\r\n                        return double.NaN; \/\/ Devuelve NaN (Not-a-Number) en caso de divisi\u00f3n por cero.\r\n                    }\r\n                    return num1 \/ num2;\r\n                default:\r\n                    return 0;\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En este programa:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Solicitamos al usuario que ingrese dos n\u00fameros y validamos que las entradas sean n\u00fameros v\u00e1lidos.<\/li>\n\n\n\n<li>Luego, el usuario selecciona una operaci\u00f3n (suma, resta, multiplicaci\u00f3n o divisi\u00f3n).<\/li>\n\n\n\n<li>Realizamos la operaci\u00f3n seleccionada y mostramos el resultado.<\/li>\n\n\n\n<li>Si el usuario desea realizar otra operaci\u00f3n, le damos esa opci\u00f3n; de lo contrario, el programa se cierra.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo, exploramos el mundo de las aplicaciones de consola en C# y aprendimos c\u00f3mo interactuar con el usuario a trav\u00e9s de la consola. Aqu\u00ed est\u00e1n los conceptos clave que cubrimos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Aplicaciones de Consola<\/strong>: Aprendimos qu\u00e9 son las aplicaciones de consola y c\u00f3mo se utilizan en el desarrollo de software.<\/li>\n\n\n\n<li><strong>Creaci\u00f3n de Proyectos de Consola<\/strong>: Vimos c\u00f3mo crear un proyecto de aplicaci\u00f3n de consola en C#, incluyendo su estructura b\u00e1sica.<\/li>\n\n\n\n<li><strong>Interacci\u00f3n con el Usuario<\/strong>: Exploramos c\u00f3mo mostrar informaci\u00f3n en la consola y capturar entrada del usuario utilizando m\u00e9todos como <code>Console.WriteLine<\/code> y <code>Console.ReadLine<\/code>.<\/li>\n\n\n\n<li><strong>Ejemplo: Saludo Personalizado<\/strong>: Creamos una aplicaci\u00f3n de consola que saluda al usuario, captura su nombre y muestra un mensaje de saludo personalizado.<\/li>\n\n\n\n<li><strong>Manipulaci\u00f3n de Datos de Usuario<\/strong>: Aprendimos a validar y convertir la entrada de usuario, adem\u00e1s de utilizar operadores y estructuras de control para manejar datos de entrada.<\/li>\n\n\n\n<li><strong>Ejemplo: Calculadora en Consola<\/strong>: Desarrollamos una calculadora simple en una aplicaci\u00f3n de consola que permite al usuario realizar operaciones de suma, resta, multiplicaci\u00f3n y divisi\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Este cap\u00edtulo nos proporcion\u00f3 una comprensi\u00f3n s\u00f3lida de c\u00f3mo crear aplicaciones de consola en C# y c\u00f3mo interactuar efectivamente con el usuario a trav\u00e9s de la consola. Estos conocimientos son fundamentales para el desarrollo de software y nos preparan para explorar temas m\u00e1s avanzados en cap\u00edtulos posteriores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejercicio Pr\u00e1ctico:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n se presenta el c\u00f3digo de ejemplo para crear una aplicaci\u00f3n de consola en C# que solicita al usuario ingresar una lista de n\u00fameros separados por comas y luego calcula su suma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\n\r\nnamespace CalculadoraDeSuma\r\n{\r\n    class Program\r\n    {\r\n        static void Main(string&#91;] args)\r\n        {\r\n            Console.WriteLine(\"Calculadora de Suma\");\r\n            Console.Write(\"Ingrese una lista de n\u00fameros separados por comas: \");\r\n\r\n            string input = Console.ReadLine();\r\n            string&#91;] numeros = input.Split(',');\r\n\r\n            double suma = 0;\r\n\r\n            foreach (string numeroStr in numeros)\r\n            {\r\n                if (double.TryParse(numeroStr, out double numero))\r\n                {\r\n                    suma += numero;\r\n                }\r\n                else\r\n                {\r\n                    Console.WriteLine($\"'{numeroStr}' no es un n\u00famero v\u00e1lido y se omitir\u00e1.\");\r\n                }\r\n            }\r\n\r\n            Console.WriteLine($\"La suma de los n\u00fameros ingresados es: {suma}\");\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Este programa comienza solicitando al usuario que ingrese una lista de n\u00fameros separados por comas. Luego, divide la entrada en una matriz de cadenas utilizando <code>Split(',')<\/code>. Despu\u00e9s, itera a trav\u00e9s de cada n\u00famero en la lista, intenta convertirlo a un valor num\u00e9rico y lo suma a la variable <code>suma<\/code>. Si la conversi\u00f3n falla para alg\u00fan elemento, muestra un mensaje de error. Finalmente, muestra la suma total de los n\u00fameros ingresados por el usuario. Este es un ejemplo de c\u00f3mo interactuar con el usuario y realizar c\u00e1lculos b\u00e1sicos en una aplicaci\u00f3n de consola en C#.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las aplicaciones de consola, tambi\u00e9n conocidas como programas de consola o aplicaciones de l\u00ednea de comandos, son programas inform\u00e1ticos que interact\u00faan con el usuario a trav\u00e9s de una interfaz de texto en la l\u00ednea de comandos, como la ventana de la terminal o el s\u00edmbolo del sistema en sistemas operativos como Windows, macOS y Linux. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2103,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[34],"tags":[],"class_list":["post-675","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-y-otras-hierbas"],"uagb_featured_image_src":{"full":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C.jpg",1000,667,false],"thumbnail":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C-150x150.jpg",150,150,true],"medium":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C-300x200.jpg",300,200,true],"medium_large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C-768x512.jpg",768,512,true],"large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C.jpg",1000,667,false],"1536x1536":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C.jpg",1000,667,false],"2048x2048":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Desarrollo-de-Aplicaciones-de-Consola-en-C.jpg",1000,667,false]},"uagb_author_info":{"display_name":"arquitecto","author_link":"https:\/\/stackcodelab.com\/blog\/author\/arquitecto\/"},"uagb_comment_info":0,"uagb_excerpt":"Las aplicaciones de consola, tambi\u00e9n conocidas como programas de consola o aplicaciones de l\u00ednea de comandos, son programas inform\u00e1ticos que interact\u00faan con el usuario a trav\u00e9s de una interfaz de texto en la l\u00ednea de comandos, como la ventana de la terminal o el s\u00edmbolo del sistema en sistemas operativos como Windows, macOS y Linux.&hellip;","_links":{"self":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":2,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"predecessor-version":[{"id":2104,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/675\/revisions\/2104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media\/2103"}],"wp:attachment":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}