2
respostas

Manipulando dicionários

Inicialmente, eu havia esquecido do método .Clear() das listas, por isso comecei com o Remove(), mas depois alterei ao revisar as respostas e validei que seria mais coerente para o contexto.

Console.Clear();

var tarefas = new Dictionary<string, string> {
    {"Organizar o sistema do banco relacional", "Claudio"},
    {"Serializar os dados em arquivo permanente", "Júlia"},
};

Console.WriteLine("Quadro Sprint 1");
foreach (var funcionarioTarefa in tarefas) {
    Console.WriteLine($"{funcionarioTarefa.Value}, deve executar: {funcionarioTarefa.Key}");
}

tarefas.Clear();

tarefas.Add("Coletar dados dos usuários do sistema", "Claudio");
tarefas.Add("Verificar as alterações no Design da plataforma", "Júlia");

Console.WriteLine("\nQuadro Sprint 2");
foreach (var funcionarioTarefa in tarefas) {
    Console.WriteLine($"{funcionarioTarefa.Value}, deve executar: {funcionarioTarefa.Key}");
}
2 respostas

Oii, Diego!

Parabéns por concluir o exercício Manipulando dicionários. Seu código ficou excelente e a organização das tarefas por Sprints ilustra muito bem um cenário real de gerenciamento de projetos.

A sua reflexão sobre a escolha dos métodos foi cirúrgica. Usar o método .Clear() foi a decisão mais acertada para esse cenário. Enquanto o .Remove() exige que você conheça e passe uma chave específica para apagar um único registro por vez, o .Clear() limpa toda a coleção de uma só tacada. Para a transição de uma Sprint para outra, onde o quadro antigo precisa ser totalmente resetado para dar lugar aos novos objetivos, essa abordagem deixa o código limpo.

Na sua visão, utilizar o .Clear() para reaproveitar a mesma variável ajudou a deixar a transição entre os blocos de código das Sprints mais compreensível do que se você tivesse criado um segundo dicionário do zero?

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

Olá Lorena!

Ajudou sim, além de estar economizando espaço na memória, o código ganha mais legibilidade.