1
resposta

[Projeto] Faça como eu fiz

Dictionary<string, List<int>> vendasCarros = new Dictionary<string, List<int>> {
    { "Bugatti Veyron", new List<int> { 10, 15, 12, 8, 5 } },
    { "Koenigsegg Agera RS", new List<int> { 2, 3, 5, 6, 7 } },
    { "Lamborghini Aventador", new List<int> { 20, 18, 22, 24, 16 } },
    { "Pagani Huayra", new List<int> { 4, 5, 6, 5, 4 } },
    { "Ferrari LaFerrari", new List<int> { 7, 6, 5, 8, 10 } }
};

Console.WriteLine("Digite o nome do carro que deseja ver a média de vendas: ");
foreach (var item in vendasCarros.Keys)
{
    Console.WriteLine(item);
}

string nomeCarro = Console.ReadLine()!;

if(vendasCarros.ContainsKey(nomeCarro))
{
    var media = vendasCarros[nomeCarro].Average();
    Console.WriteLine($"A média do carro {nomeCarro} é: {media}");
}
else
{
    Console.WriteLine("Carro inválido");
}
1 resposta

Oi, Eduardo! Como vai?

Sua solução ficou bem organizada, com o uso de Dictionary<string, List<int>>, a exibição das chaves com foreach e a validação com ContainsKey(nomeCarro), o que deixa o fluxo mais seguro antes de calcular a média com Average().

Uma dica interessante para o futuro é usar o método Trim() em conjunto com a leitura da entrada para evitar problemas com espaços antes ou depois do nome digitado. Veja este exemplo:


string nomeCarro = Console.ReadLine()!.Trim();

Neste caso, o código remove espaços extras da entrada e ajuda a comparar o nome digitado com mais precisão Seu raciocínio está no caminho certo, siga praticando com esse tipo de estrutura, porque ela ajuda bastante no trabalho com coleções em C#.

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