VB.NET にて、ある配列を、別の配列の内容に基づいてソートするための方法を以下に記載します。
例えは、datas という配列に、
datas(0) = "Alice"
datas(1) = "Bob"
datas(2) = "John"
としてデータが格納されていたとします。
それをソートするための配列 sortkeys を用意し、
sortkeys(0) = 5
sortkeys(1) = 3
sortkeys(2) = 4
としてデータが格納したとします。
その上で、
Array.Sort(sortkeys, datas)
とすると、
datas(0) = "Bob"
datas(1) = "John"
datas(2) = "Alice"
sortkeys(0) = 3
sortkeys(1) = 4
sortkeys(2) = 5
となります。datas だけでなく、sortkeys もソートされますので留意します。
以下サンプルです。
'並び替え「される」配列
Dim datas() As String = New String() {"Alice", "Bob", "John"}
'並び替えするための値の配列
Dim sortkeys() As Integer = New Integer() {"5", "3", "4"}
'並び替えを行う
Array.Sort(sortkeys, datas)
以上で、説明は終了です。
|