Non ho capito bene la cosa. In base a quale criterio confronta i due array per poi fare l'ordinamento?
Benoit Minisini alla domanda ha così risposto:
A.SortUsing(B) ordina il vettore A utilizzando l'ordine definito nella matrice B.
Ad esempio:
A = ["A", "B", "C", "D", "E"]
B = [4, 1, 2, 10, 8]
A.SortUsing (B)
Ora A è ["B", "C", "A", "E", "D"]
Alcune osservazioni:
- Per farlo, SortUsing() crea un array intero temporaneo della stessa dimensione di A.
- Ovviamente A e B devono avere la stessa dimensione.
- A viene ordinato in base alla sostituzione generata da B.Sort().Le mie considerazioni:
Non è che il tutto sia subito intuibile, occorre pensare a B come ad un template e quindi ad un ordine di tipo terzo, primo, secondo, quinto, quarto.
L'ordine è dato da sort su B che opererebbe spostando il 4 (cioè il primo valore) in terza posizione ( A in terza) 1 in prima (B in prima) ecc. ecc.
Provare per credere:
Public Sub Main()
Dim A As String[] = ["A", "B", "C", "D", "E"]
Dim B As Integer[] = [4, 1, 2, 10, 8]
A.SortUsing(B)
For Each s As String In A
Print s;;
Next
Print
End