Pergunta

Eu estava discutindo com um colega de trabalho sobre se é melhor usar um dicionário e repovoar-o sempre que um conjunto de resultados muda ou apenas usar o LINQ Loop sobre todos os elementos da lista a cada vez.

Estamos tentando mapear um relacionamento pai / filho, e sugeri o uso do pai como chave do dicionário e o valor do dicionário como objeto personalizado.

Normalmente, precisaremos iterar sobre todos os pais / filhos e atingir a lista.

Existe alguma razão para você não querer usar um dicionário nessa circunstância? Se sim, o que você usaria em vez disso

Foi útil?

Solução

Se você realmente precisar iterar em toda a coleção sempre, não haveria muito (se houver) benefício em ter um Dictionary. Por outro lado, se você ocasionalmente precisar localizar instâncias específicas por suas chaves, Dictionary Pode ser o que você precisa.

Observe que, mesmo se você estiver usando um dicionário, você ainda pode iterar através da lista de valores quando necessário, para não muito mais 'peso' do que iterando através de um normal List, mas você ainda teria os recursos de dicionário, se necessário.

Outras dicas

Em termos de desempenho, ele realmente dependerá do seu aplicativo específico, para que você precise testar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top