1
resposta

Exercicio 3

class Produtos
{
    private Dictionary<string, int> produtos = new Dictionary<string, int>();

    public void adicionarProduto(string nome, int quantidade)
    {                
        if (produtos.ContainsKey(nome))
        {
            produtos[nome] += quantidade;
        }
        else
        {
            produtos.Add(nome, quantidade);
        }
    }

    public void exibir()
    {
        foreach (var item in produtos) 
        {
            Console.WriteLine($"Nome: {item.Key}\nQuantidade: {item.Value}\n");           
        }
    }
}


//Program
Produtos brinquedos = new Produtos();
brinquedos.adicionarProduto("mouse", 4);
brinquedos.adicionarProduto("teclado", 7);
brinquedos.adicionarProduto("microfone", 10);
brinquedos.adicionarProduto("mouse", 4);

brinquedos.exibir();
1 resposta

Oi, Cauan! Como vai?

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

Percebi que você utilizou Dictionary<string, int> para armazenar os produtos, e isso foi uma boa escolha, já que permite gerenciar itens repetidos somando a quantidade. Sua lógica de adicionarProduto está funcionando bem para controlar o estoque de forma simples.

Uma dica interessante para o futuro é usar o método TryGetValue para verificar valores ao invés do ContainsKey. Veja este exemplo:


if (produtos.TryGetValue(nome, out int quantidadeExistente))
{
    produtos[nome] = quantidadeExistente + quantidade;
}
else
{
    produtos[nome] = quantidade;
}

Esse código evita duas buscas na chave e deixa o processo um pouco mais rápido.

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