Ho un dizionario e ho aggiunto alcuni elementi su it.For esempio,come iterare un dizionario <stringa, stringa> in ordine inverso (dall'ultimo al primo) in C#?
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("Content","Level0");
d.Add("gdlh","Level1");
d.Add("shows","Level2");
d.Add("ytye","Level0");
In C#, dizionario mantiene elementi naturali order.but Ora voglio iterare quei valori dall'ultimo al primo (cioè, Ordine inverso) .i mean,
prima voglio leggere yty quindi mostra, gdlh e infine contenuto.
prega di guida me di uscire di questo problema ...
stato È * "In C#, dizionario mantiene gli elementi in ordine naturale" *. Non è corretto [La sezione commenti] (http://msdn.microsoft.com/en-us/library/xfhwa508.aspx) afferma * "L'ordine in cui vengono restituiti gli articoli non è definito." * –
@Daniel Hilgarth Era la mia iniziale pensato, e ho commentato come tale, ma rimosso perché ho testato alcuni codici e funziona. Così ho fatto un po 'più di ricerca. In definitiva è possibile riordinare gli elementi durante l'inserimento se costringe il dizionario a ridimensionare. SortedDictionary si riferisce all'ordine delle chiavi, ma puoi dargli un confronto ... OrderedDictionary non è generico, ma potrebbe essere quello di cui ha bisogno. –
Una volta ho avuto una discussione enorme su questo - mentre l '"ordine" delle voci enumerate in un dizionario standard * è * sostanzialmente l'ordine in cui le hai inserite, QUESTO NON È IL COMPORTAMENTO GARANTITO! È estremamente imprudente presumere che sarà sempre così. – JerKimball