Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Necessito de ajuda C#

Insira aqui a descrição dessa imagem para ajudar na acessibilidade 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?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
3 respostas
solução!

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

  1. Iteração sobre os produtos: O foreach percorre as chaves (nomes dos produtos) dentro de listaProdutos.Keys.
  2. Acessando as quantidades: produtoQuantidade = listaProdutos[produtoGeral] obtém a lista de quantidades associadas a cada produto.
  3. Somando as quantidades: A função Sum() calcula o total de unidades de cada produto, somando todos os valores presentes na lista de quantidades.
  4. Exibindo os dados: A linha Console.WriteLine imprime o nome do produto e a quantidade total de unidades.
    Isso deve permitir que você veja tanto o nome dos produtos quanto as quantidades corretamente.
    Confere ai se deu certo.
    Qualquer duvida só chamar.
    Bons estudos.

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.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade 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.