static void Main(string[] args) { var list = new CustomList <string>(); string command; while ((command = Console.ReadLine()) != "END") { string[] tokens = command.Split(); switch (tokens[0]) { case "Add": list.Add(tokens[1]); break; case "Remove": list.Remove(int.Parse(tokens[1])); break; case "Contains": Console.WriteLine(list.Contains(tokens[1])); break; case "Swap": list.Swap(int.Parse(tokens[1]), int.Parse(tokens[2])); break; case "Greater": Console.WriteLine(list.CountGreaterThan(tokens[1])); break; case "Max": Console.WriteLine(list.Max()); break; case "Min": Console.WriteLine(list.Min()); break; case "Print": foreach (var item in list) { Console.WriteLine(item); } break; case "Sort": Sorter.Sort(ref list); break; default: throw new ArgumentException(); } } }
static void Main(string[] args) { var customList = new CustomList <string>(); while (true) { string line = Console.ReadLine(); if (line == "END") { break; } if (string.IsNullOrWhiteSpace(line)) { continue; } try { var inputs = line.Split(' '); string commandResult = null; switch (inputs[0]) { case "Add": { customList.Add(inputs[1]); break; } case "Remove": { commandResult = customList.Remove(int.Parse(inputs[1])); break; } case "Contains": { commandResult = customList.Contains(inputs[1]).ToString(); break; } case "Swap": { int firstIndex = int.Parse(inputs[1]); int secondIndex = int.Parse(inputs[2]); customList.Swap(firstIndex, secondIndex); break; } case "Greater": { commandResult = customList.CountGreaterThan(inputs[1]).ToString(); break; } case "Max": { commandResult = customList.Max(); break; } case "Min": { commandResult = customList.Min(); break; } case "Print": { foreach (var item in customList) { Console.WriteLine(item); } break; } case "Sort": { Sorter.Sort(customList); break; } default: throw new Exception("Invalid command."); } if (commandResult != null) { Console.WriteLine(commandResult); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.ReadKey(); }