public MenuItem GetMenuOption(string UserInput) { string userInputMenuTitle = UserInput; if (userInputMenuTitle.Contains(" ")) { userInputMenuTitle = UserInput.Split(" ")[0]; } MenuItem item = MenuOptions.FirstOrDefault(M => M.MenuTitle.ToLower() == userInputMenuTitle.ToLower()); if (item != null) { // Get any parameters given to this MenuOption string[] parameters = UserInput.ToLower().Split(" ").Where(S => S != item.MenuTitle.ToLower()).ToArray(); // Validate parameters before switching menu levels if (item.ValidateMenuParameters(parameters)) { return(item); } } return(null); }