Io uso un Dictionary<string, Item>
per memorizzare i propri articoli.
Il motivo dell'utilizzo di un dizionario è che le chiavi sono univoche e l'accesso è veloce.Voce dizionario
Nella maggior parte dei casi, utilizzo il dizionario solo per accedere a singoli articoli. Ma in un caso devo scorrere il dizionario - qui ho bisogno di avere gli elementi in ordine sono stati aggiunti.
So solo che il dizionario utilizza internamente un hashtable, ma non so come sia organizzato.
Domanda:
sono gli elementi di un dizionario ordinato come sono aggiunti?
Cosa succede all'ordine quando gli articoli vengono aggiunti o rimossi?
È possibile utilizzare 'OrderedDictionary' in C# per il dizionario ordinato, vedere MSDN: http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx – wudzik
Dai un'occhiata a questa grande risposta sullo stesso argomento. http://stackoverflow.com/questions/6384710/why-is-a-dictionary-not-ordered?rq=1 –
@KingKing: 'OrderedDictionary' è implementato anche come TabellaHash (accanto array) ma è ordinato.Tuttavia, anche se so che si tratta di un'implementazione di HashTable, non necessariamente devo sapere che non è ordinato dalla natura. –