private static void ParseCommand(string commandInput, List <string> arguments) { var command = Enum.Parse <Command>(commandInput); switch (command) { case Command.Create: iterator.Create(arguments); break; case Command.Move: Console.WriteLine(iterator.Move()); break; case Command.Print: iterator.Print(); break; case Command.HasNext: Console.WriteLine(iterator.HasNext()); break; case Command.PrintAll: Console.WriteLine(string.Join(" ", iterator)); break; } }
static void Main(string[] args) { ListyIterator <string> listyIterator = null; string command; while ((command = Console.ReadLine()) != "END") { var tokens = command.Split(); switch (tokens[0]) { case "Create": listyIterator = new ListyIterator <string>(tokens.Skip(1).ToArray()); break; case "Move": Console.WriteLine(listyIterator.Move()); break; case "Print": try { listyIterator.Print(); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); } break; case "HasNext": Console.WriteLine(listyIterator.HasNext()); break; case "PrintAll": foreach (var item in listyIterator) { Console.Write(item + " "); } Console.WriteLine(); break; } } }