tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
構造体配列のソート(VB.NET) ( No.0 )  [親スレッドへ]
日時: 2007/08/31 18:59
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[アルゴリズム][][]                                                  *
* キーワード:構造体,配列,ソート,並べ替え,,                                       *
***********************************************************************************

元質問:構造体配列のソートについて - タートル  2004/02/20-09:57 No.733

構造体配列を使用して複数キー指定でソートをしたいのですが(DBでいうORDER BY)
どなたかよい方法をご存知ないでしょうか?
単一キー指定のソートは普通のソートでできるのですが。。。。

-----------------------------------------------------------------------------------
Re: 構造体配列のソートについて - 魔界の仮面弁士  2004/02/20-12:55 No.734
-----------------------------------------------------------------------------------
構造体に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



 [スレッド一覧へ] [親スレッドへ]