2013-03-11 5 views
5

Sto cercando di trovare qual è il limite superiore di Scripting.Dictionary? Ce n'è uno?Qual è la dimensione massima di Scripting.Dictionary?

Potrebbe essere un limite al numero di elementi o alla dimensione della memoria. Non sono riuscito a rintracciare alcuna informazione al riguardo.

+2

Bene, alcuni dicono [Se devi chiedere, probabilmente stai facendo qualcosa di sbagliato] (http://blogs.msdn.com/b/oldnewthing/archive/2007/03/01/1775759.aspx). Perché hai bisogno di queste informazioni e cosa stai cercando di ottenere? – AutomatedChaos

+0

Ho esaminato il codice per l'ordinamento dei dizionari e l'implementazione era limitata a 32.767 elementi nel dizionario. E questo ha scatenato la mia domanda. Temo di non provare a realizzare nulla di spettacolare oltre a nutrire la mia curiosità :) – Juliusz

+3

L'ultimo test che ho fatto è salito a un milione, che il dizionario gestiva bene (sebbene Collection fosse più efficiente del dizionario sopra le righe di 500K) http://fastexcel.wordpress.com/2012/07/10/comparing-two-lists-vba-udf-shootout-between-linear-search-binary-search-collection-and-dictionary/ –

risposta

4

Da tutto ciò che ho mai incontrato (e non riesco a trovare alcuna documentazione per contraddirlo), il dizionario non ha un limite superiore implicito ed è limitato solo dalla quantità di memoria disponibile.

+1

Si potrebbe pensare, ma almeno il tipo di dati di Conte metterebbe un limite, ma MSDN è molto vago in questo argomento: http://msdn.microsoft.com/en-us/library/5t9h9579(v=vs.84).aspx – Juliusz

+6

Non è troppo difficile da capire fuori: '? typename (createobject ("scripting.dictionary"). count) 'dà' Long' –