ich VB.NET studiert, und ich will eine bessere Idee wissen, um Schlüssel von sortierten Werten in Hashtable zu erhaltenVB.NET Get Keys von sortierten Werten in Hashtable
Hier ist meine Lösung, die ich
Dim int_Value As Integer() = New Integer() {-9, 2, 8, 6, 8, 1, -9}
Dim int_Key As Integer() = New Integer() {1, 2, 3, 4, 5, 6, 7}
Dim Dum_Int(int_Key.Length) As Integer
Dim STORE_KEYS As New ArrayList
Array.Copy(int_Value, Dum_Int, Dum_Int.Length - 1)
Array.Sort(Dum_Int)
Array.Reverse(Dum_Int)
For I = 0 To Dum_Int.Length - 1
For II = 0 To int_Value.Length - 1
If Dum_Int(I) = int_Value(II) Then
STORE_KEYS.Add(int_Key(II))
int_Value(II) = Integer.MaxValue
End If
Next
Next
gebaut
ich habe eine Ausgabe wie ..
'' OUTPUT ''
- (0) 3 {I nteger} Object
- (1) 5 {Integer} Object
- (2) 4 {Integer} Object
- (3) 2 {Integer} Object
- (4) 6 {Integer} Object
- (5) 1 {Integer} Object
- (6) 7 {Integer} Object
ich gehe davon aus, dass ich Hashtable haben.
I erstellen zwei Arrays und speichern beide Schlüssel (int_Key) und Werte (int_value) Von Hashtable
kopieren I-Wert (int_value) Array Dum_Int Werte zu sortieren
Wenn I Matching int value gefunden zwischen Sortiertes Array und ursprünglicher Wert Array
Ich speicherte in STORE_KEYS (Arraylist) und ich füge Max Int-Wert in das ursprüngliche Array ein, um überlappende Probleme zu vermeiden.
Gibt es jedoch eine Möglichkeit, diese Methode zu verbessern?
Ich glaube nicht, dass besser sortieren Algor kann nicht helfen, diese Methode zu vereinfachen.
Können Sie Hinweise geben, um diese Methode zu vereinfachen?
dank
Wenn Sie eine frühere Version von VB als 2005 verwenden, sollten Sie keine 'verwenden Hashtable' oder eine 'ArrayList'. Sie sollten stattdessen ein 'Dictionary' und' List' verwenden. – jmcilhinney
Ich kann nicht verstehen, was Sie versuchen zu erreichen. – shadow