alcun motivo per non usare un dizionario
-
27-09-2019 - |
Domanda
I stava avendo una discussione con un collega sul fatto che sia meglio usare un dizionario e ripopolare esso ogni volta che un set di risultati modifica o al solo ciclo utilizzare LINQ su tutti gli elementi della lista ogni volta.
Stiamo cercando di mappare una relazione padre / figlio, e ho suggerito di utilizzare il ParentID come chiave del dizionario, e il valore di dizionario come l'oggetto personalizzato.
Ci sarà solitamente bisogno di iterare su tutti i genitori / figli e correre verso il basso nell'elenco.
C'è qualche motivo per cui non si vuole utilizzare un dizionario in questa circostanza? in caso affermativo, cosa vorresti usare al posto
Soluzione
Se si ha realmente bisogno di iterare l'intera collezione ogni volta, non ci sarebbe molto (se presente) vantaggio di avere un Dictionary
. D'altra parte, se di tanto in tanto necessario individuare casi specifici con le loro chiavi, Dictionary
potrebbe essere quello che ti serve.
Si noti che, anche se si sta utilizzando un dizionario, è ancora possibile solo scorrere l'elenco dei Valori quando necessario, per non troppo di più 'peso' di iterazione attraverso un List
normale, ma poi si sarebbe ancora avere il dizionario capacità, se necessario.
Altri suggerimenti
Performance saggio, è davvero andando a dipendere dalla vostra specifica applicazione, in modo da dovrete test.