private static void Executar(ManipulardorDeLista manipulador, OpcaoEnum opcao) { switch (opcao) { case OpcaoEnum.IncluirNoInicio: ReceberValor(manipulador.AdicionarNoInicio); break; case OpcaoEnum.IncluirNoFinal: ReceberValor(manipulador.AdicionarNoFinal); break; case OpcaoEnum.RemoverPrimeiro: manipulador.RemoverPrimeiro(); ExibirMensagem("O primeiro número da lista foi removido!"); break; case OpcaoEnum.RemoverUltimo: manipulador.RemoverUltimo(); ExibirMensagem("O último número da lista foi removido!"); break; case OpcaoEnum.ListarTodos: ExibirResultado("Listar todos os números", string.Join(",", manipulador.ListarTodos())); break; case OpcaoEnum.ListaOrdemCrescente: Listar("Listar números em ordem crescente", manipulador.ListarEmOrdemCrescente()); break; case OpcaoEnum.ListaOrdemDecrescente: Listar("Listar números em ordem decrescente", manipulador.ListarEmOrdemDecrescente()); break; case OpcaoEnum.ExibirApenasPrimeiro: ExibirResultado("Exibir primeiro número", manipulador.ExibirPrimeiro()?.ToString()); break; case OpcaoEnum.ExibirApenasUltimo: ExibirResultado("Exibir último número", manipulador.ExibirUltimo()?.ToString()); break; case OpcaoEnum.ListarApenasPares: Listar("Listar números em ordem crescente", manipulador.ListarPares()); break; case OpcaoEnum.ListarApenasImpares: Listar("Listar números em ordem decrescente", manipulador.ListarImpares()); break; case OpcaoEnum.ExibirNumeroInformado: int numero = ReceberValor(); ExibirResultado("Exibir número informado", manipulador.ExibirNumeroInformado(numero)?.ToString()); break; default: break; } }
static void Main(string[] args) { var manipulador = new ManipulardorDeLista(); int opcao = ExibirMenu(); while (opcao >= (int)OpcaoEnum.IncluirNoInicio && opcao <= (int)OpcaoEnum.ExibirNumeroInformado) { Executar(manipulador, (OpcaoEnum)opcao); Console.Clear(); opcao = ExibirMenu(); } }