>>414
スマン
ちょっと間違った
    Private s As New List(Of MySt)

        Dim r(3) As MySt
        r(0).hoge = "ccc"
        r(0).moge = 123
        r(1).hoge = "bbb"
        r(1).moge = 234
        r(2).hoge = "aaa"
        r(2).moge = 345
        r(3).hoge = "xxx"
        r(3).moge = 0

        s.AddRange(r)

        s.Sort(AddressOf hikaku1)

で
    Function hikaku1(ByVal x As MySt, ByVal y As MySt) As Integer
        Return x.hoge > y.hoge   
    End Function
    Function hikaku2(ByVal v1 As MySt, ByVal v2 As MySt) As Integer
        Return v2.moge - v1.moge
    End Function

こんな感じにした
ちなみにVS8です

しかしこういうやり方で並べ替えが出来るとは知りませんでした
勉強になりました(自分はめんどくさがりなのでDataTable使いますw)