public void Add() { bool exit = false; while (true) { if (exit) { break; } ConsoleKeyInfo key; Console.Clear(); Console.WriteLine("Введите вариант ответа:"); string tmp = Console.ReadLine(); Console.Clear(); bool verno = false; while (true) { Console.Clear(); Console.WriteLine("Правильный ли это ответ? Нажмите (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { verno = true; break; } if (key.Key == ConsoleKey.N) { break; } } Answer.Add(tmp, verno); while (true) { Console.Clear(); Console.WriteLine("Ввести еще ответ? (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { break; } if (key.Key == ConsoleKey.N) { exit = true; break; } } } }
public void Edit() { ConsoleKeyInfo key; while (true) { if (Answer.Count == 0) { while (true) { Console.Clear(); Console.WriteLine("Еще нет ни одного ответа."); Console.WriteLine("Хотите ввести ответ? (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { Add(); break; } if (key.Key == ConsoleKey.N) { return; } } } else { foreach (var item in Answer) { bool reload = false; Console.Clear(); Console.WriteLine($"Текущий вопрос \"{item.Key}\""); Console.WriteLine(); Console.WriteLine(" - вы можете редактировать или добавить вопрос,"); Console.WriteLine(" - для редактировани нажмите (Enter)"); Console.WriteLine(" - для добавления вопроса (A)"); Console.WriteLine(" - для удаления вопроса (Del)"); Console.WriteLine(" - для перехода к следующему вопросу любую клавишу"); Console.WriteLine(" - выход из редактирования (Esc)"); key = Console.ReadKey(true); switch (key.Key) { case ConsoleKey.Enter: Console.Clear(); Console.WriteLine("Введите новый вариант ответа:"); string tmp = Console.ReadLine(); Console.Clear(); bool verno = false; while (true) { Console.Clear(); Console.WriteLine("Правильный ли это ответ? Нажмите (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { verno = true; break; } if (key.Key == ConsoleKey.N) { break; } } Answer.Add(tmp, verno); Answer.Remove(item.Key); reload = true; break; case ConsoleKey.A: Console.Clear(); Console.WriteLine("Введите вариант ответа:"); string atmp = Console.ReadLine(); Console.Clear(); bool averno = false; while (true) { Console.Clear(); Console.WriteLine("Правильный ли это ответ? Нажмите (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { averno = true; break; } if (key.Key == ConsoleKey.N) { break; } } Answer.Add(atmp, averno); reload = true; break; case ConsoleKey.Delete: bool del = false; while (true) { Console.Clear(); Console.WriteLine("Вы точно хотите удалить этот ответ? Нажмите (Y) или (N)"); key = Console.ReadKey(true); if (key.Key == ConsoleKey.Y) { del = true; break; } if (key.Key == ConsoleKey.N) { break; } } if (del) { if (Answer.Count == 1) { Answer.Clear(); reload = true; } else { Answer.Remove(item.Key); reload = true; } } break; case ConsoleKey.Escape: return; default: break; } if (reload) { break; } } } } }