' Collection of code snippets by Arne Vajhøj ' posted to eksperten.dk, usenet and other places (2002-now) Imports System Imports System.Collections.Generic Namespace E Public Class MyData Private _v As Integer Private _s As String Public Sub New() Me.New(0, "") End Sub Public Sub New(ByVal v As Integer, ByVal s As String) _v = v _s = s End Sub Public Property V() As Integer Get Return _v End Get Set _v = value End Set End Property Public Property S() As String Get Return _s End Get Set _s = value End Set End Property Public Overloads Overrides Function ToString() As String Return ("(" & _v & "," & _s & ")") End Function End Class Public Class MainClass Private Shared Function MyDataComparerV(ByVal o1 As MyData, ByVal o2 As MyData) As Integer Return (o1.V - o2.V) End Function Private Shared Function MyDataComparerS(ByVal o1 As MyData, ByVal o2 As MyData) As Integer Return o1.S.CompareTo(o2.S) End Function Public Shared Sub Main(ByVal args As String()) Dim mdc As List(Of MyData) = New List(Of MyData)() mdc.Add(New MyData(2, "A")) mdc.Add(New MyData(1, "CCC")) mdc.Add(New MyData(3, "BB")) For i As Integer = 0 To mdc.Count-1 Console.WriteLine(mdc(i)) Next mdc.Sort(AddressOf MyDataComparerV) For i As Integer = 0 To mdc.Count-1 Console.WriteLine(mdc(i)) Next mdc.Sort(AddressOf MyDataComparerS) For i As Integer = 0 To mdc.Count-1 Console.WriteLine(mdc(i)) Next End Sub End Class End Namespace