2009-08-04 13 views
21

Ho due serie di oggetti in cui, in alcuni casi, il primo set verrà utilizzato come chiave per l'altro set e in altri casi il secondo set verrà utilizzato come chiave per il primo. Inoltre, non ci devono essere duplicati in nessuna delle due liste.dizionario bidirezionale?

Quale sarebbe una buona struttura dati da utilizzare per questo? Dovrei usare due dizionari per questo o ci sono modi più intelligenti?

+4

Esiste un'implementazione del dizionario bidirezionale di Jon Skeet @ http://stackoverflow.com/questions/255341/getting-key-of-value-of- dizionario generico # 255630. E sì, il modo standard per ottenere questo è usare 2 dizionari. – Falaina

risposta

8

Qualcuno con una migliore conoscenza delle strutture dati potrebbe probabilmente dare consigli migliori, ma personalmente, userei 2 dizionari per facilità d'uso. Si potrebbe fare lo stesso con 1 dizionario ma il tempo di accesso aumenterebbe.

Edit: merda, ero solo in fase di stesura del codice come lo farei e ho visto che Falaina postato che è la stessa idea che stavo facendo solo molto meglio: Getting key of value of a generic Dictionary?

+0

O, bello. Accetterà questo come la risposta in questa domanda quindi :) – Svish