static void Main(string[] args) { var menu = new List.Menu(); var list = new OneLinkedList(); menu.WorkWithMenu(list); }
public void WorkWithMenu(OneLinkedList list) { MainText(); string key = Console.ReadLine(); while (key != "0") { WorkWithKey(key, list); MainText(); key = Console.ReadLine(); } Console.WriteLine("До свидания!"); list.Clear(); }
public void WorkWithKey(string key, OneLinkedList list) { switch (key) { case "1": { Console.WriteLine("Введите позицию и значение для добавления элемента:"); (int position, string value) = ReadPosAndValue(); if (!list.Add(value, position)) { WriteError(); } break; } case "2": { Console.WriteLine("Введите позицию для удаления элемента:"); int position = ReadPos(); if (!list.Remove(position)) { if (list.IsEmpty()) { WriteEmpty(); } else { WriteError(); } } break; } case "3": { if (list.IsEmpty()) { WriteEmpty(); } else { Console.WriteLine("В списке что-то есть:)"); } break; } case "4": { Console.WriteLine($"В списке {list.Count()} элементов)"); break; } case "5": { Console.WriteLine("Введите позицию:"); int position = ReadPos(); if (position < 0) { WriteError(); } else { Console.WriteLine($"{position} элемент: {list.GetValue(position)}"); } break; } case "6": { Console.WriteLine("Введите позицию и значение для изменения элемента:"); (int position, string value) = ReadPosAndValue(); if (!list.SetValue(value, position)) { WriteError(); } break; } default: { Console.WriteLine("Что-то введено не так:)"); break; } } }