1
resposta

minha solução:

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("Vendas de carros de luxo\n");

Console.Write("Digite o Nome do carro para saber quantas únidades foram vendidas no ano\n"
            + "Nome do carros: ");
string nomeCarro = Console.ReadLine()!;
if (vendasCarros.ContainsKey(nomeCarro))
{
    List<int> vendas = vendasCarros[nomeCarro];
    int totalVendas = 0;
    foreach (int venda in vendas)
    {
        totalVendas += venda;
    }
    Console.WriteLine($"Nome do carro..............: {nomeCarro}\n" +
                      $"Total de Unidades vendidas.: {totalVendas} unidades.");
}
else
{
    Console.WriteLine($"O carro {nomeCarro} não foi encontrado.");
}
1 resposta

Olá, Paulo. Tudo bem?

Obrigado por compartilhar seu código com a gente.

Gostei da forma como você implementou o uso do Dictionary para armazenar as vendas de carros de luxo, além de como usou o foreach para somar as unidades vendidas. O código está correto, fácil de entender e bem organizado. Parabéns pela solução.

Uma curiosidade: você sabia que pode usar o método Sum() da biblioteca LINQ para somar os valores da lista de uma maneira ainda mais simples? Veja como ficaria o código com essa abordagem:


using System.Linq;

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

string nomeCarro = Console.ReadLine()!;
if (vendasCarros.ContainsKey(nomeCarro))
{
    int totalVendas = vendasCarros[nomeCarro].Sum();
    Console.WriteLine($"Nome do carro..............: {nomeCarro}\n" +
                      $"Total de Unidades vendidas.: {totalVendas} unidades.");
}
else
{
    Console.WriteLine($"O carro {nomeCarro} não foi encontrado.");
}

Esse código usa o Sum() para somar os valores da lista de vendas de forma mais compacta. O método Sum() é bastante útil quando se deseja calcular a soma dos elementos de uma coleção.

Conte com o apoio do Fórum. Abraços e bons estudos!