タイトル : Re^2: 構造体配列のソートについて 投稿日 : 2004/02/20(Fri) 15:09 投稿者 : タートル
ご教授ありがとうございました。 このやり方だと1パターンの複数キーしかできないのでしょうか? 何パターンか並び替えパターンがある場合って対応できないものでしょうか? > > 構造体配列を使用して複数キー指定でソートをしたいのですが(DBでいうORDER BY) > > 構造体にIComparableインターフェイスを実装しておけば、呼び出し側は、 > 『 Array.Sort(構造体配列変数) 』の1行だけでソートを行えます。 > > > Protected Friend Structure MyUDT : Implements System.IComparable > Friend Code As Integer, Name As String > Friend Sub New(ByVal Code As Integer, ByVal Name As String) > Me.Code = Code > Me.Name = Name > End Sub > Private Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo > Dim cmp As Integer > Try > Dim X As MyUDT = DirectCast(obj, MyUDT) > cmp = Me.Code.CompareTo(X.Code) > If cmp = 0 Then > cmp = Me.Name.CompareTo(X.Name) > End If > Return cmp > Catch > Return 0 > End Try > End Function > End Structure |