Estou em duvida de como eu devo trazer a informação tanto do nome do produto como a quantidade ao mesmo tempo? Poderiam me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou em duvida de como eu devo trazer a informação tanto do nome do produto como a quantidade ao mesmo tempo? Poderiam me ajudar?
Ola Heitor.
Tudo bem?
Com certeza podemos ajudar.
Vamos lá!
No seu código, parece que você tem um dicionário chamado listaProdutos, que mapeia o nome de cada produto para uma lista de inteiros (presumivelmente, representando as quantidades).
Para exibir tanto o nome do produto quanto a quantidade ao mesmo tempo, você precisa acessar cada produto e suas quantidades.
No código fornecido, o problema é que você está tentando acessar o valor de listaProdutos usando um índice (listaProdutos[]), mas o que você realmente precisa fazer é iterar sobre a lista de quantidades para cada produto.
Aqui está uma maneira de resolver isso:
Você pode acessar cada produto dentro do dicionário e, em seguida, acessar as quantidades associadas a cada produto.
Considerando que listaProdutos é um Dictionary<string, List<int>>, o código abaixo vai iterar sobre as chaves (nomes dos produtos) e as listas de quantidades associadas a elas.
void todosProdutos()
{
txtMenus("ESTOQUE GERAL");
foreach (string produtoGeral in listaProdutos.Keys)
{
// Obtemos a lista de quantidades para cada produto
List<int> produtoQuantidade = listaProdutos[produtoGeral];
// A quantidade total do produto pode ser calculada somando todos os valores da lista
int quantidadeTotal = produtoQuantidade.Sum(); // .Sum() soma os valores da lista
// Exibindo o nome do produto e a quantidade total
Console.WriteLine($"Produto: {produtoGeral} Quantidade: {quantidadeTotal}");
}
menuEstoque();
}
Explicação
foreach percorre as chaves (nomes dos produtos) dentro de listaProdutos.Keys.produtoQuantidade = listaProdutos[produtoGeral] obtém a lista de quantidades associadas a cada produto.Sum() calcula o total de unidades de cada produto, somando todos os valores presentes na lista de quantidades.Console.WriteLine imprime o nome do produto e a quantidade total de unidades.Observação:
Se surgir algum problema relacionado ao código peço que cole o código aqui em vez de utilizar o print.
Isso facilita a analise.
Obrigado.
Acabei utilizando outro método, mas muito interessante e bem mais curto a sua explicação e ficou bem clara de entender! Muito obrigado pelo pela ajuda.
Ola amigo.
Fico feliz que tenha dado certo.
Pode encerrar o topico agora.
Bons estudos.