|
■No85978 (こんなのお さん) に返信
なちゃさんの言うようにデータをクラス化してひとまとめにして扱うのがよいと思いますが
提示された内容をいかしておこなうなら以下のような方法もあります。
a,bがデータです。他にあっても全然かまいません。
sortidxsがbをソートとした結果の配列のインデックスの配列となります。(実際にはbはソートされません)
sortidxsに設定されている順番にa,bから該当する要素を取り出せばそれはbをソートした順番に取り出せることになります。
sortidxsを求めるときのOrder Byの部分を変更すればaでのソートをすることもその他の配列でソートすることもできます。
Dim a = {5, 2, 1, 6, 21, 4}
Dim b = {#2017/10/1#, #2017/10/2#, #2017/10/10#, #2017/10/5#, #2017/10/8#, #2017/10/3#}
Dim sortidxs = (From idx In Enumerable.Range(0, a.Length)
Order By b(idx)).ToArray
For idx = 0 To sortidxs.Length - 1
Dim idx2 = sortidxs(idx)
Console.WriteLine($"{a(idx2)} {b(idx2)}")
Next
|