Lista zadań (ToDo) — tutorial (C#)

Cel: zbudować prostą konsolową listę zadań. Poznasz: List, pętlę menu, dodawanie/usuwanie elementów, indeksowanie i podstawowe walidacje.

Plan

  1. Utwórz projekt: dotnet new console -n TodoApp.
  2. Zamień zawartość Program.cs na kod poniżej.
  3. Uruchom: dotnet run.

Przykładowy kod (Program.cs)

// Program.cs
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var todos = new List();
        while (true)
        {
            Console.WriteLine();
            Console.WriteLine("=== ToDo — menu ===");
            Console.WriteLine("1) Pokaż wszystkie zadania");
            Console.WriteLine("2) Dodaj zadanie");
            Console.WriteLine("3) Usuń zadanie (po numerze)");
            Console.WriteLine("4) Wyczyść listę");
            Console.WriteLine("5) Wyjdź");
            Console.Write("Wybierz opcję (1-5): ");

            var choice = Console.ReadLine();
            if (choice == null) break;

            switch (choice.Trim())
            {
                case "1":
                    if (todos.Count == 0)
                    {
                        Console.WriteLine("Brak zadań na liście.");
                    }
                    else
                    {
                        Console.WriteLine("Zadania:");
                        for (int i = 0; i < todos.Count; i++)
                            Console.WriteLine($"{i + 1}. {todos[i]}");
                    }
                    break;

                case "2":
                    Console.Write("Wpisz treść zadania: ");
                    var text = Console.ReadLine();
                    if (!string.IsNullOrWhiteSpace(text))
                    {
                        todos.Add(text.Trim());
                        Console.WriteLine("Dodano zadanie.");
                    }
                    else
                    {
                        Console.WriteLine("Puste zadanie nie zostało dodane.");
                    }
                    break;

                case "3":
                    Console.Write("Podaj numer zadania do usunięcia: ");
                    var numStr = Console.ReadLine();
                    if (int.TryParse(numStr, out int num) && num >= 1 && num <= todos.Count)
                    {
                        todos.RemoveAt(num - 1);
                        Console.WriteLine("Usunięto zadanie.");
                    }
                    else
                    {
                        Console.WriteLine("Nieprawidłowy numer.");
                    }
                    break;

                case "4":
                    todos.Clear();
                    Console.WriteLine("Lista wyczyszczona.");
                    break;

                case "5":
                    Console.WriteLine("Do zobaczenia!");
                    return;

                default:
                    Console.WriteLine("Nieznana opcja. Wybierz 1-5.");
                    break;
            }
        }
    }
}

Uruchomienie

dotnet new console -n TodoApp
cd TodoApp
// zastąp Program.cs powyższym kodem
dotnet run
Zadanie 1:

Dodaj możliwość edycji istniejącego zadania (wybór numeru i nowej treści).

Zadanie 2:

Zapisuj listę do pliku i wczytuj przy starcie (System.IO.File).

Zadanie 3:

Dodaj priorytety lub znaczniki 'zrobione/niezrobione' oraz możliwość filtrowania.

Powrót do listy tutoriali