Ir para o conteúdo do rodapé
Iron Academy Logo
Aplicação C#
Aplicação C#

Outras categorias

Selecionando itens de uma lista - Série de consoles Spectre

[[academy-video-youtube({"vid": "6HNgqAILhuw", "start_time": "0", "title": "Selecionando itens de uma lista - Série Spectre Console", "creator": "Tim Corey", "length": "6m 26s"})]]

O Spectre Console é um poderoso pacote NuGet for .NET que permite aos desenvolvedores criar aplicativos de console interativos em vez de programas de texto estáticos e simples. Uma de suas funcionalidades mais úteis é o Prompt de Seleção do Console Spectre, que permite apresentar uma lista de opções que o usuário pode percorrer e selecionar diretamente com o teclado. Isso torna a entrada de dados pelo console mais confiável, fácil de usar e visualmente mais refinada em comparação com a digitação manual das respostas.

Em seu vídeo " Selecionando itens de uma lista – Série Spectre Console ", Tim Corey mostra exatamente como usar esse recurso. Neste artigo, vamos acompanhar suas explicações passo a passo, apontando os horários para que você possa assistir e codificar junto. Esta é uma ótima maneira de aprender como criar e personalizar um prompt de seleção em seus próprios aplicativos de console .NET .

Introdução à aula

Às 0:00, Tim explica que o Spectre Console permite que os desenvolvedores transformem aplicativos de console C# em aplicativos visualmente atraentes e informativos. Sua série de vídeos aborda a biblioteca em blocos de 10 minutos, com o código-fonte disponível na descrição.

Nesta lição (0:18), Tim se concentra em como pedir ao usuário que escolha uma opção de uma lista e, em seguida, usar o teclado para navegar por essa lista. Esse padrão de "perguntar e responder" é a base para a criação de aplicativos de console com aparência moderna e interativa. Ele também lembra os espectadores (0:27) de se inscreverem em seu canal e visitarem iamtimcorey.com para obter mais recursos de treinamento.

Criando uma opção de seleção

Aos 0:34, Tim mostra uma lista de nomes de espaços reservados que ele usa com frequência em seus aplicativos. Isso poderia ser facilmente uma lista de frutas — maçã, banana, laranja — se você quisesse um exemplo de "fruta favorita". Ele cria uma variável do tipo string para armazenar a resposta que o usuário escolherá:

string favoriteName;
string favoriteName;

Spectre Console Selecting Items List 1 related to Criando uma opção de seleção

Em seguida, aos 0:57, Tim passa do prompt básico abordado na lição anterior para uma função SelectionPrompt completa:

favoriteName = AnsiConsole.Prompt(
    new SelectionPrompt<string>()
        .Title("Which is your favorite placeholder name")
        .AddChoices(names)
);
favoriteName = AnsiConsole.Prompt(
    new SelectionPrompt<string>()
        .Title("Which is your favorite placeholder name")
        .AddChoices(names)
);

Ele explica (1:13) que o SelectionPrompt requer um título, que no caso dele é "Qual é o seu nome de espaço reservado favorito". Se você estivesse perguntando sobre uma fruta favorita, você mudaria o título de acordo para "Qual é a sua fruta favorita".

Embora você possa decorar o texto (1:24) com os estilos do Spectre Console — usando cores azul, verde ou cinza, por exemplo — nesta lição ele está se concentrando no próprio prompt de seleção.

Às 1:39, Tim adiciona as opções — sua lista de nomes — chamando .AddChoices(). Essas opções podem ser qualquer coisa: frutas, números, objetos ou até mesmo os resultados de uma função de "busca".

Finalmente, em 1:55, Tim usa a linha de marcação do Spectre Console para exibir o item escolhido de volta para o usuário:

AnsiConsole.MarkupLine($"Your favorite name is [red]{favoriteName}[/].");
AnsiConsole.MarkupLine($"Your favorite name is [red]{favoriteName}[/].");

Este código utiliza marcação embutida para colorir a resposta selecionada em vermelho, mas você poderia usar azul ou verde com a mesma facilidade, caso o tema do seu console exija.

Executando o prompt de seleção

Tim salva e executa o código às 2:34. O console exibe:

  • Uma lista de nomes ou frutas.

  • As teclas de seta permitem mover para cima e para baixo (2:41).

  • Pressione Enter para selecionar um item.

Tim demonstra como selecionar "Sue Storm" (2:50). Assim que a tecla Enter for pressionada, a lista desaparecerá e o console exibirá a seguinte mensagem:

Your favorite name is Sue Storm.
Your favorite name is Sue Storm.

Se fosse uma lista de frutas, você poderia ver: "Sua fruta favorita é banana" ou "Sua fruta favorita é maçã".

Lidando com listas extensas

Tim então aborda um problema comum: listas longas. Aos 3:13, ele apresenta a propriedade PageSize para limitar os itens visíveis:

.PageSize(4)
.PageSize(4)

Ele explica (3:19) que quatro é intencionalmente pequeno para demonstrar a característica. Apenas essa quantidade de itens é exibida por vez. Se você tiver uma lista extensa de frutas — maçã, banana, laranja, manga, abacaxi — o PageSize impede que o console role indefinidamente.

Para orientar os usuários, Tim adiciona uma mensagem MoreChoicesText em cinza às 3:34:

.MoreChoicesText("[grey](Move down to reveal more choices)[/]")
.MoreChoicesText("[grey](Move down to reveal more choices)[/]")

Este texto informa ao usuário que ele pode rolar para baixo para revelar mais opções. Isso é especialmente útil quando sua lista é grande e você deseja uma dica clara em vez de correr o risco de cometer um erro ou causar confusão.

Demonstrando o comportamento de lista longa

Tim executa o programa novamente às 4:08:

  • Inicialmente, apenas quatro opções são exibidas.

  • A mensagem cinza diz "Deslize para baixo para revelar mais opções" (4:13).

  • Deslizar para baixo revela itens adicionais.

  • Ao rolar para cima novamente, os primeiros aparecem (4:20).

Tim observa (4:25) que isso é ideal para listas grandes — sem rolagem infinita no console. Você pode exibir 10 ou 15 itens por vez e deixar o usuário navegar pelas páginas restantes. Isso resolve o problema de sobrecarregar o console com muita informação de uma só vez.

Por que o prompt de seleção é melhor do que digitar

Aos 4:38, Tim destaca por que o recurso de seleção é melhor do que digitar:

  • Assim que você fizer uma escolha, a lista desaparece (4:41).

  • Você vê imediatamente a resposta escolhida (4:45).

Ele compara isso (5:05) aos antigos prompts em que os usuários tinham que digitar "sim" ou "não". Com o SelectionPrompt, você pode oferecer essas opções diretamente e permitir que os usuários selecionem com as teclas de seta, reduzindo erros e tornando a experiência mais fluida.

Tim diz (5:35) que o prompt é um "acréscimo muito legal" porque simplifica a entrada de dados, torna os aplicativos de console mais interativos e fornece uma solução clara para problemas de entrada.

Outros usos e tópicos futuros

Tim menciona (5:43) que esta lição cobre a seleção de um item de uma lista. Em vídeos futuros, ele mostrará prompts de seleção múltipla (5:39) onde os usuários podem alternar múltiplos itens ativados e desativados e, em seguida, pressionar Enter para confirmar.

Ele também observa (5:47) que a lista pode ser de qualquer tipo de objeto - strings, inteiros, frutas, até mesmo opções padrão retornadas de uma função. Por exemplo, você poderia perguntar ao usuário qual é sua fruta favorita ("maçã", "banana", "laranja") em vez de um nome (5:55).

Com o recurso de seleção do Spectre Console, você pode até mesmo definir valores padrão, lidar com respostas obrigatórias e personalizar a ação executada após uma seleção.

Conclusão

Tim conclui (6:01) seu vídeo reafirmando que esta é a maneira de implementar a seleção de itens no Spectre Console - uma forma limpa e fácil de usar para lidar com listas em aplicativos de console. Seja para pedir sua fruta favorita, um número ou um objeto, o recurso de seleção automática proporciona uma experiência refinada ao seu aplicativo, sem necessidade de digitação adicional ou erros.

Principais conclusões do vídeo de Tim Corey

  • O SelectionPrompt do Spectre Console permite que os usuários naveguem pelas listas usando as teclas de seta em vez de digitar manualmente.

  • Personalize com Título, Opções, Cores (azul, verde, cinza), Tamanho da Página e Texto de Mais Opções para ajudar a revelar mais opções.

  • Assim que um item é selecionado, a lista desaparece e a resposta escolhida é exibida.

  • Ideal para listas curtas e longas, evitando problemas de rolagem no console.

  • Funciona com qualquer tipo de dado (string, números, frutas como maçã, banana, laranja ou objetos personalizados).

  • Tim abordará prompts de seleção múltipla em vídeos futuros, onde os usuários podem alternar múltiplas opções e, em seguida, pressionar Enter para confirmar.
Hero Worlddot related to Selecionando itens de uma lista - Série de consoles Spectre
Hero Affiliate related to Selecionando itens de uma lista - Série de consoles Spectre

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de Suporte Iron

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim