Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: hora da prática

Apliquei duas soluções diferentes para resolver o problema:

  1. Um array, para esse tipo de situação, pode funcionar como uma lista.
Console.Write("Digite uma nota: ");
int notaMedia = int.Parse(Console.ReadLine()!);
if (notaMedia >= 5) Console.WriteLine ("Nota suficiente para aprovação.");

string[] Linguagens = {"C#", "Java", "JavaScript"};
Console.WriteLine($"{Linguagens[0]}");

Console.Write("Digite a posição que você deseja visualizar da Lista [0 - 2]: ");
int posicao = int.Parse(Console.ReadLine()!);

switch (posicao) {
    case 0: Console.WriteLine (Linguagens[0]); break;
    case 1: Console.WriteLine (Linguagens[1]); break;
    case 2: Console.WriteLine (Linguagens[2]); break;
    default: Console.WriteLine ("Valor inválido."); break;
}
  1. Nesse caso, eu apliquei a lista propriamente dita, conforme a demanda, além de ter simplificado o código, retirando o switch case desnecessário.
Console.Write("Digite uma nota: ");
int notaMedia = int.Parse(Console.ReadLine()!);
if (notaMedia >= 5) Console.WriteLine ("Nota suficiente para aprovação.");

List <string> Linguagens = new List<string> {"C#", "Java", "JavaScript"};
Console.WriteLine($"{Linguagens[0]}");

Console.Write("Digite a posição que você deseja visualizar da Lista [0 - 2]: ");
int posicao = int.Parse(Console.ReadLine()!);

Console.WriteLine (Linguagens[posicao]); 
1 resposta
solução!

Oii, Diego! Tudo bem?

É muito bom ver sua dedicação em testar diferentes caminhos para resolver os desafios. Essa curiosidade ajuda a entender como cada estrutura de dados se comporta na prática.

Analisando suas soluções:

Sua percepção sobre o uso de Arrays e Lists tá correta. Embora ambos sirvam para armazenar coleções de dados, eles possuem particularidades:

  • Arrays: São ótimos quando sabemos exatamente o tamanho da coleção e esse valor não mudará. No seu código, o uso de string[] funcionou perfeitamente para armazenar as três linguagens.
  • Lists: Oferecem mais flexibilidade, permitindo adicionar ou remover itens facilmente durante a execução do programa. No C#, a List<T> é uma das coleções mais utilizadas justamente por essa versatilidade.

Pontos Positivos:

  1. Evolução do código: Você percebeu que o switch tornava o código mais longo e substituiu pelo acesso direto via índice (Linguagens[posicao]). Isso deixa a leitura muito mais fluida.
  2. Entrada de dados: O uso do int.Parse(Console.ReadLine()!) demonstra que você já tá atento à captura de dados do usuário via teclado.
  3. Interpolação de strings: Utilizar $"{Linguagens[0]}" é uma forma moderna e limpa de formatar textos no C#.

Ao trabalhar com índices informados pelo usuário, uma boa prática é garantir que o número digitado esteja dentro do intervalo da lista para evitar que o programa pare de funcionar inesperadamente. Você pode conferir isso usando a propriedade Count da lista:

if (posicao >= 0 && posicao < Linguagens.Count) 
{
    Console.WriteLine(Linguagens[posicao]);
} 
else 
{
    Console.WriteLine("Posição inexistente na lista.");
}

Para aprofundar seus conhecimentos, recomendo consultar a documentação oficial da Microsoft sobre Listas.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!