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.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!