ジェネリックデリゲートでの並べ替え
- 題名: ジェネリックデリゲートでの並べ替え
- 著者: nishi
- 日時: 2008/11/13 18:35:33
- ID: 23371
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ジェネリックデリゲートでの並べ替え
- 著者: オショウ
- 日時: 2008/11/13 19:46:35
- ID: 23373
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ジェネリックデリゲートでの並べ替え
- 著者: nishi
- 日時: 2008/11/14 10:48:24
- ID: 23378
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
よろしくお願い致します。
以下のように、Comparison(T)ジェネリックデリゲートでの並べ替えを
行っています。
Structure BasicData
Dim type As Integer
Dim dt As String
Dim No As String
End Structure
' Sort
Public Function SortDataByDateAsc(ByVal dataA As BasicData, _
ByVal dataB As BasicData) As Integer
Return Date.Compare(CDate(dataA.dt, dataB.dt)
End Function
構造体をList(basicInfo)で保持していおり、日付順に並べ替えるのに、
basicInfo.Sort(AddressOf SortDataByDateAsc)
と行っています。
日付での並べ替えはできるのですが、例えば、同じ日付があった場合に、
例のように、元の並び順が崩れてしまいます。
例 dt no → dt no
2008/11/10 1 2008/10/31 1
2008/11/10 2 2008/11/10 2
2008/10/31 1 2008/11/10 1
これを同じ日付の場合は、そのままとして、
並べ替えることは可能でしょうか?
よろしくお願い致します。