0
Console.WriteLine("Выберите занятие:\n" +
                "1.Сон\n" +
                "2.Тренировка\n" +
                "3.Универ\n" +
                "4.Отдых\n" +
                "5.Домашка");

Хочу сделать максимально краткий код.

1 Answers1

0

Короткий код - не всегда означает правильный код. В вашем же случае лучше сделать так:

  1. Создаёте абстрактный класс AbstractTask, в котором есть свойства int ID, string Name, конструктор для них и метод Invoke.
  2. Создаёте для каждого действия свой экземпляр (конструктор должен быть пустой, лишь с вызовом инструктора базового класса через base(0, "Your Task Title")), SleepTask, TrainingTask и.т.д

Далее в месте проверки вставляете код:

List<AbstractTask> tasks = new List<AbstractTask>()
{
   new SleepTask(),
   new TrainingTask(),
};

int id = int.Parse(Console.ReadLine());

AbstractTask? selectedTask = tasks.Find(z => z.ID == id); if(selectedTask != null) selectedTask.Invoke();

Yotic
  • 859