1
resposta

Buscando em uma lista

List<string> listaDeNomes = ["Ana", "Carlos", "Bianca", "João", "Marina"];
string nomeAluno;


do
{
    Console.Clear();
    Console.Write("Nome do aluno: ");
    nomeAluno = Console.ReadLine()!;
    nomeAluno=  char.ToUpper(nomeAluno[0]) + nomeAluno.Substring(1).ToLower();
    var index = listaDeNomes.IndexOf(nomeAluno);

    if(listaDeNomes.Contains(nomeAluno))
    {
        Console.WriteLine($"O {nomeAluno} se encontra na posição {index}");
        Thread.Sleep(2000);
    }
    else
    {
        Console.WriteLine($"O nome {nomeAluno} não se encontra no sistema");
        Thread.Sleep(2000);
    }
    
    
}while(true);
1 resposta

Olá, Edla, como vai?

Seu código apresenta uma implementação interessante ao utilizar o laço do while para permitir múltiplas buscas e o tratamento de strings para padronizar a entrada da pessoa usuária. O uso do método IndexOf para localizar a posição do elemento foi uma boa escolha técnica.

Para que seu programa atenda integralmente ao que foi solicitado no exercício, é importante implementar a interrupção do laço de repetição assim que o nome for encontrado. No código atual, o ciclo permanece em execução infinita devido à condição while(true).

Parabéns por desenvolver a atividade e por compartilhá-la no fórum, continue praticando e postando suas resoluções.

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