2
respostas

Gerenciando itens no inventário

var dicionarioItens = new Dictionary<int, string>() {
    {15, "Orbe de Prata"},
    {23, "Cordão Angelical"}
};

Console.WriteLine("Itens iniciais");
foreach (var itens in dicionarioItens) {
    Console.WriteLine($"ID: {itens.Key} - {itens.Value}");
}


dicionarioItens.Add(1, "Espada de Ferro");
dicionarioItens.Add(2, "Cajado Celestial");
dicionarioItens.Add(3, "Relíquia do Abismo");

dicionarioItens.Remove(15);
dicionarioItens.Add(6, "Coração da Babilônia");

Console.WriteLine("\nItens Atuais no inventário:");
foreach (var itens in dicionarioItens.OrderBy(i => i.Key)) {
    Console.WriteLine($"ID: {itens.Key} - {itens.Value}");
}
2 respostas

Olá, Diego!

Parabéns por concluir o exercício Gerenciando itens no inventário. Seu código ficou excelente, muito bem estruturado, e a escolha do tema de itens de RPG deixou a simulação do inventário super interessante.

O grande destaque da sua solução foi o uso do método .OrderBy(i => i.Key) no segundo laço foreach. Por padrão, o dicionário no C# não garante a ordenação dos elementos pelos valores das chaves durante a leitura. Ao integrar uma expressão lambda para forçar a organização crescente com base nos identificadores numéricos, você garantiu que o relatório final fosse exibido de forma sequencial na tela, o que qualifica bastante a experiência de quem joga.

Na sua visão, ordenar os itens pelo ID numérico no final facilitou a visualização do inventário se compararmos com a ordem em que os equipamentos foram sendo inseridos no decorrer do jogo?

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

Olá, Lorena.

Analisando pela perspectiva da experiência do usuário, ordenar o inventário com base nos IDs de cada item não seria o ideal, pois isso retiraria uma parte importante da experiência do jogador relacionada à gestão do próprio inventário.

Todavia, olhando pelo lado dos administradores, a análise e visualização dos itens com base no ID pode ser interessante para buscar itens específicos ou até mesmo verificar se um usuário possui determinado item.