1
resposta

Desafio: hora da prática - Atividade 03

Console.Clear();
var listaInteiros = new List<int> {3120,4214,3123,435,1999};

for (int i = 0; i < listaInteiros.Count; i++) {
    Console.WriteLine($"{i} - {listaInteiros[i]}");
}

Console.Write("Selecione uma posição para acessar: ");
int posicao; int.TryParse(Console.ReadLine()!, out posicao);

try {
    Console.WriteLine($"O valor na posição {posicao} é: {listaInteiros[posicao]}");
}
catch (ArgumentOutOfRangeException) {
    Console.WriteLine("Não é possível acessar o vetor nessa posição.");
}
catch (Exception ex) {
    Console.WriteLine($"Erro: {ex.Message}");
}
1 resposta

Oi, Diego! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você organizou a exibição da lista com índice e também do uso do try/catch pra tratar possíveis erros de acesso fora do intervalo. Isso mostra uma boa preocupação com a robustez do programa e com a experiência de quem vai usar.

Uma dica interessante pra o futuro é validar a entrada antes de acessar a lista, evitando exceções desnecessárias com o método ElementAtOrDefault do LINQ:


using System.Linq;

var valor = listaInteiros.ElementAtOrDefault(posicao);

if (posicao >= 0 && posicao < listaInteiros.Count)
{
    Console.WriteLine($"Valor: {valor}");
}
else
{
    Console.WriteLine("Posicao invalida");
}

Nesse código, ElementAtOrDefault tenta acessar o índice e retorna um valor padrão caso não exista, enquanto a validação garante que o acesso seja seguro.

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