47 messaggi dal 30 maggio 2002
salve a tutti,
ho un problema con un StringDictionary.

Eseguo l'inserimento di chiave/valore, quando guardo i dati inseriti li trovo ordinati non so per quale criterio ma non nell'ordine in cui li ho inseriti.

ho il seguente caso :

MyStringDictionary.Add("pippo", "1");
MyStringDictionary.Add("pluto", "2");
MyStringDictionary.Add("peperino","3");

in output ho

pluto, 2
peperino, 3
pippo, 1

Mi potete dare una mano, ho la necessità di non scompagginare l'ordinamento quando inserisco.

Grazie
Come fai a generare l'output, cicli, fai un bind, leggi i valori a mano o cosa?
In realtà lo StringDictionary non fa altro che aggiungere valori ad un hashtable quindi se c'è il problema è lì.

hai provato con Dictionaary<T,K>??

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
Non puoi se usi un dictionary perché in .net hashtable dictionary<> organizzano a buckets in funzione del hashcode. Questo perché in teoria non dovrebbe essere importante l'ordine, perché è la chiave di ogni item che lo identifica.
Semplicemente usa una List<> o ArrayList dove come item usi una classe cha mantiene la chiave e il valore.
In alternativa mi pare che la ListDictionary ti dia la lista in ordine ma è meno performante.

Ciao

Il mio blog
Homepage
47 messaggi dal 30 maggio 2002
i valori li leggevo in debug, cmq ho aggirato l'ostacolo usando un datatable.


grazie a tutti e due
i valori li leggevo in debug, cmq ho aggirato l'ostacolo usando un datatable.

Come detto da Ricciolo era meglio una StringCollection on una collection List<string>.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.