Загрузка данных


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{
    static List<string> tasks = new List<string>();
    static string fileName = "tasks.txt";

    static void Main()
    {
        LoadTasks();
        bool running = true;

        while (running)
        {
            Console.WriteLine("\n--- Список дел ---");
            Console.WriteLine("1. Добавить дело");
            Console.WriteLine("2. Показать все дела");
            Console.WriteLine("3. Удалить дело (по номеру)");
            Console.WriteLine("4. Выход");
            Console.Write("Выберите действие: ");

            string choice = Console.ReadLine();
            switch (choice)
            {
                case "1":
                    AddTask();
                    break;
                case "2":
                    ShowTasks();
                    break;
                case "3":
                    DeleteTask();
                    break;
                case "4":
                    running = false;
                    break;
                default:
                    Console.WriteLine("Неверный ввод, повторите.");
                    break;
            }
        }
    }

    static void LoadTasks()
    {
        if (File.Exists(fileName))
        {
            tasks = File.ReadAllLines(fileName).ToList();
        }
    }

    static void SaveTasks()
    {
        File.WriteAllLines(fileName, tasks);
    }

    static void AddTask()
    {
        Console.Write("Введите новое дело: ");
        string task = Console.ReadLine();
        tasks.Add(task);
        SaveTasks();
        Console.WriteLine("Дело добавлено.");
    }

    static void ShowTasks()
    {
        if (tasks.Count == 0)
        {
            Console.WriteLine("Список дел пуст.");
            return;
        }
        for (int i = 0; i < tasks.Count; i++)
        {
            Console.WriteLine($"{i + 1}. {tasks[i]}");
        }
    }

    static void DeleteTask()
    {
        ShowTasks();
        if (tasks.Count == 0) return;
        Console.Write("Введите номер дела для удаления: ");
        if (int.TryParse(Console.ReadLine(), out int index) && index >= 1 && index <= tasks.Count)
        {
            tasks.RemoveAt(index - 1);
            SaveTasks();
            Console.WriteLine("Дело удалено.");
        }
        else
        {
            Console.WriteLine("Неверный номер.");
        }
    }
}