|
■No94048 (ムッシュムラ村 さん) に返信 > 以下の3つの配列があるとします
「3 つの配列」で管理するよりも、 「1 つの DataTable」で管理した方が良い気がします。
あるいは、配列は 1 つだけにして、その配列のデータ型を String ではなく、 3 項目をもつクラスやタプルにしておくとか。
> それぞれ画像下部の条件で、A# B# C#のように並べ替えることは可能でしょうか
これでよいのかな。
Sub Main() Dim TEST1(9) As String Dim TEST2(9) As String Dim TEST3(9) As String
TEST1 = New String(9) {"1", "2", "3", "2", "3", "1", "1", "2", "3", "2"} TEST2 = New String(9) {"商品2", "商品4", "商品2", "商品3", "商品1", "商品3", "商品1", "商品1", "商品3", "商品2"} TEST3 = New String(9) {"2020/3/7", "2020/3/9", "2020/3/6", "2020/3/8", "#######", "#######", "#######", "#######", "#######", "#######"}
Dim src = Enumerable.Range(0, 10).Select(Function(i) New With {Key .A = TEST1(i), Key .B = TEST2(i), .C = TEST3(i)}) Dim dst = From r In src Order By r.A Ascending, r.B Ascending
Console.WriteLine("=== ソート前 ===") Array.ForEach(src.ToArray(), AddressOf Console.WriteLine)
Console.WriteLine("=== ソート後 ===") Array.ForEach(dst.ToArray(), AddressOf Console.WriteLine)
Console.ReadKey() End Sub
|