Ho bisogno di ordinare un dizionario in VB.net basato sui tasti. Le chiavi e i valori sono tutte stringhe. Il dizionario non ha un .Sort()
. C'è un modo per farlo senza dover scrivere il mio algoritmo di ordinamento?Ordina dizionario basato sui tasti
risposta
SortedDictionary viene in mente, ma si ordina solo sulla chiave.
In caso contrario, questa risposta potrebbe aiutare How do you sort a C# dictionary by value?.
SortedDictionary sembra funzionare. Grazie – user489041
Esattamente nel lavoro vb.net questo codice:
Dim myDict As New Dictionary(Of String, String)
myDict.Add("one", 1)
myDict.Add("four", 4)
myDict.Add("two", 2)
myDict.Add("three", 3)
Dim sortedDict = (From entry In myDict Order By entry.Value Ascending).ToDictionary(Function(pair) pair.Key, Function(pair) pair.Value)
For Each entry As KeyValuePair(Of String, String) In sortedDict
Console.WriteLine(String.Format("{0,10} {1,10}", entry.Key, entry.Value))
Next
Penso che tu volessi 'Ordina per entry.Key' non' entry.Value' in base alle modifiche dell'OP. –
Per entry.Key possiamo usare SortedDictionary senza alcuna espressione LINQ – apros
Se è necessario mantenere il dizionario sottostante e non utilizzare un SortedDictionary, è possibile utilizzare LINQ per restituire un oggetto IEnumerable in base al largo di che cosa mai criteri avete bisogno :
Dim sorted = From item In items
Order By item.Key
Select item.Value
il SortedDictionary sarebbe probabilmente dare più prestazioni in condizioni di utilizzo ripetuto però il tempo che non ha bisogno di invertire questo genere ad un certo punto in futuro.
- 1. Ordinamento del dizionario Python basato sui valori del dizionario nidificato
- 2. Rimozione di voci da un dizionario basato sui valori
- 3. Come si ordina un dizionario?
- 4. Ordina dizionario per più valori
- 5. Ordina un Dizionario <int, Lista <int>> con i tasti + valori elenco all'interno
- 6. Ordina per valori (discendente) e quindi i tasti (crescente) nel dizionario Python
- 7. Ordina file CSV basato sulla prima colonna
- 8. Ordina array PHP multidimensionale basato sulla chiave?
- 9. Dizionario rapido con tasti di riferimento deboli?
- 10. Filtro rapido per più tasti del dizionario
- 11. Checkout CVS basato solo sui tag
- 12. Controllo accesso basato sui ruoli in Angular2?
- 13. Controllo degli accessi basato sui ruoli
- 14. ordina una matrice e assegna nuovi tasti numerici?
- 15. C++, Ordina un vettore basato su un altro
- 16. ordina un vettore di punti basato su un altro vettore
- 17. Ordina Div in Jquery Basato su Attribute 'data-sort'?
- 18. Javascript Ordina oggetto coppia chiave valore basato sul valore
- 19. Rilevamento e agendo sui tasti di direzione tastiera in Java
- 20. Come attivare omnicomplete/completamento automatico sui tasti nella modalità INSERT?
- 21. Copia di restituzione del dizionario escluso i tasti specificati
- 22. Rimozione di più tasti da un dizionario in modo sicuro
- 23. dizionario Python non ha tutti i tasti assegnati, o elementi
- 24. Rimuovere alcuni tasti da un dizionario in python
- 25. Come verificare se un dizionario contiene determinati tasti
- 26. DB Schema di un controllo di accesso basato sui ruoli
- 27. Ordinamento basato sui record successivi e precedenti in SQL
- 28. Componente di controllo di accesso basato sui ruoli (RBAC) - .Net
- 29. Bootstrap colonne reattive ordine basato sui contenuti alfabetico
- 30. Test unità basato sui dati - Problema con la codifica CSV?
Cosa significa per te "ordinare un dizionario"? – jason
L'ho modificato per chiarirlo, ma è stato modificato. Ho bisogno di ordinare il dizionario in base alle loro chiavi. – user489041
No, vedi, non hai ancora detto cosa intendi con "ordina un dizionario". Dicendomi che vuoi che sia basato sui tasti non spiega cosa significhi per te "ordinare un dizionario". – jason