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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top