Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.
Aprender C# creando una aplicación To-do puede ser un ejercicio muy útil para los principiantes. Con esta aplicación, un usuario puede agregar tareas y ver una lista de todos los elementos dentro de su lista de tareas pendientes. También pueden optar por eliminar elementos de la lista.
Una aplicación To-do cubre muchos fundamentos de programación. Esto incluye el manejo de la entrada del usuario, el almacenamiento de datos en matrices, el uso de declaraciones condicionales y el trabajo con bucles. Puede crear una aplicación de tareas pendientes sencilla mediante una aplicación de consola de C# en Visual Studio.
Cómo crear una nueva aplicación de consola
Puede ver el código fuente completo de este proyecto de lista de tareas pendientes en GitHub.
Puede crear una aplicación de tareas pendientes en muchos lenguajes de programación diferentes. Puede ser difícil decidir qué idioma elegir, especialmente si es un principiante. Sin embargo, hay varias razones prácticas para aprender C#.
Comience por crear una nueva aplicación de consola de Visual Studio C#.
- Abra la aplicación Visual Studio en su computadora.
- Haga clic en Crear un nuevo proyecto:
- Elegir Aplicación de consola C#y haga clic en Próximo:
- Dale al proyecto un nombre y una ubicación para almacenar la solución:
- Mantener el Marco de destino en el valor predeterminado y haga clic en Crear:
Cómo agregar una tarea a la lista de tareas pendientes
Después de crear la nueva aplicación de consola, aparecerá de forma predeterminada un programa “Hello World” generado. Modifique el código para crear una lista a la que pueda agregar tareas.
Dado que se trata de una aplicación de consola, puede utilizar declaraciones de impresión para preguntar al usuario qué información desea agregar a la lista de tareas pendientes.
- En la parte superior del archivo, importe el espacio de nombres “System.Collections.Generic”. Esto le permitirá crear objetos de lista en su programa:
using System.Collections.Generic;
- Dentro de la función Main(), elimine el código predeterminado “Hello World”. Declare una nueva lista para almacenar las tareas de la lista de tareas pendientes:
List<string> toDoList = new List<string>();
- Agregue un bucle while que se ejecutará indefinidamente hasta que el usuario finalice el programa:
while (true) {
} - Encima de la función Main(), agregue una enumeración para la lista de posibles acciones del usuario:
enum UserChoice {
AddTask = 1,
Exit
} - Dentro del bucle while de la función Main(), muestra la lista de posibles acciones entre las que el usuario puede elegir. Luego, el usuario puede ingresar un número para completar la acción. Por ejemplo, el usuario puede presionar “1” si desea agregar una nueva tarea a la lista.
Console.WriteLine("1. Add task");
Console.WriteLine("2. Exit");
int choice = int.Parse(Console.ReadLine()); - Si el usuario presiona “1” para agregar una tarea, agregue otro aviso para preguntarle al usuario cuál es el nombre de la tarea. Agregue la entrada del usuario a la matriz de tareas. En lugar de una declaración if, también puede usar una declaración de cambio de C#.
if (choice == (int)UserChoice.AddTask) {
Console.Write("Enter task: ");
string task = Console.ReadLine();
toDoList.Add(task);
Console.Clear();
Console.WriteLine("Task added successfully!");
} - Si el usuario sale de la aplicación, sal del bucle while:
else if (choice == (int)UserChoice.Exit) {
break;
} - Haga clic en el verde jugar en la parte superior de la aplicación de Visual Studio:
- Seleccione la primera opción ingresando “1”. Introduzca una tarea en la lista de tareas pendientes:
Cómo mostrar las tareas en la lista de tareas pendientes
Antes de preguntarle al usuario si desea agregar una tarea, muestre las tareas actuales en la lista de tareas pendientes.
- Dentro del ciclo while en la función principal, agregue una declaración if para verificar si la lista de tareas pendientes no está vacía:
while (true) {
if (toDoList.Count > 0) {
}
Console.WriteLine("1. Add task");
Console.WriteLine("2. Exit");
} - Si la lista de tareas tiene elementos dentro, recorra cada elemento en la matriz “toDoList” para mostrar el nombre de la tarea en formato de viñetas:
if (toDoList.Count > 0) {
Console.WriteLine("To-do List:");
for (int i = 0; i < toDoList.Count; i++) {
Console.WriteLine("- " + toDoList[i]);
}
Console.WriteLine("");
} - Agregue una condición else a la declaración if. Si la lista está vacía, muestra un mensaje diferente:
else {
Console.WriteLine("You currently have no tasks in your To-do list.");
Console.WriteLine("");
} - Haga clic en el verde jugar en la parte superior de la aplicación de Visual Studio.
- Agregue algunos elementos a la lista. A medida que agrega un elemento, la consola se actualiza para mostrar los nuevos elementos en su lista de tareas pendientes:
Cómo eliminar una tarea de la lista de tareas pendientes
Al eliminar una tarea, vuelva a mostrar la lista de tareas al usuario y pregúntele qué tarea le gustaría eliminar.
- Actualice la enumeración UserChoice en la parte superior del archivo para incluir la acción de eliminar una tarea:
enum UserChoice {
AddTask = 1,
DeleteTask,
Exit
} - Actualice la lista de acciones que se muestra al usuario para mostrar la nueva opción de eliminación:
Console.WriteLine("1. Add task");
Console.WriteLine("2. Delete task");
Console.WriteLine("3. Exit"); - Dentro del ciclo while en la función Main(), agregue una nueva condición else-if para cuando el usuario elija la opción de eliminar:
else if (choice == (int)UserChoice.DeleteTask) {
} - En el interior, compruebe si la lista de tareas pendientes está vacía. De lo contrario, vuelva a mostrar la lista de tareas con un número delante de cada elemento. Esto le permite al usuario ingresar el número de la tarea que le gustaría eliminar:
if (toDoList.Count > 0) {
Console.WriteLine("Enter the number of the task you want to delete:");
for (int i = 0; i < toDoList.Count; i++) {
Console.WriteLine("(" + (i + 1) + ") " + toDoList[i]);
}
} - Después del ciclo for, obtenga la entrada del usuario de qué elemento le gustaría eliminar. Usando la entrada, obtenga el índice correspondiente del elemento y use la función RemoveAt() para eliminar el elemento de la tarea:
int taskNum = int.Parse(Console.ReadLine());
taskNum--;
if (taskNum >= 0 && taskNum < toDoList.Count) {
toDoList.RemoveAt(taskNum);
Console.Clear();
Console.WriteLine("Task deleted successfully!");
Console.WriteLine("");
} - Agregue una condición else a la declaración if para verificar que el usuario no ingresó un número de tarea no válido:
else {
Console.Clear();
Console.WriteLine("Invalid task number.");
Console.WriteLine("");
} - Haga clic en el verde jugar en la parte superior de la aplicación de Visual Studio.
- Haga clic en la opción “1” para agregar elementos en su lista de tareas pendientes.
- Haga clic en la opción “2” para eliminar un elemento existente en su lista de tareas pendientes.
Aprende a programar haciendo aplicaciones simples
Debería haber logrado crear con éxito una aplicación To-do simple usando la consola. Puede continuar ampliando sus conocimientos mediante la creación de aplicaciones que requieren una interfaz de usuario.
Intente diseñar y crear tanto la interfaz de usuario como la lógica para una aplicación de C# mediante Windows Forms. Un proyecto de ejemplo que puede probar es una aplicación simple de administrador de archivos.