Generic Sort (VB.NET)
Module _4_Generic_Demo
??? Sub Main()
??????? Dim list As New List(Of Person)
??????? list. AddRange(New Person() {New Person(“Ken”, 36), New Person(“Allen”, 56), New Person(“Mary”, 28)})
< p>??????? Print2(list)
??????? list.Sort()
??????? Print2(list)
??????? list.Sort(New NameComparer)
< /p>
??????? Print2(list)
??? End Sub
< /p>
??? Sub Print(ByVal list As List(Of Integer))
??????? For Each i As Integer In list< /p>
??????????? Console.WriteLine(i)
?????? ? Next
??????? Console.WriteLine(“———————- —————————-“)
??? End Sub< /p>
??? Sub Print2(ByVal list As List(Of Person))
??????? For Each i As Person In list
??????????? Console.WriteLine(i.Name & “:” & i. Age)
??????? Next
??????? Console.WriteLine(” ————————————————– “)
??? End Sub
End Module
Class Person
???’Implements IComparable
??? Implements IComparable(Of Person)< /p>
??? Public Name As String
??? Public Age As Integer
??? Sub New(ByVal n As String, ByVal a As Integer)
??????? Name = n
p>
??????? Age = a
??? End Sub
p>
???’Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
???’End Function
??? Public Function CompareTo(ByVal other As Person) As Integer Implements System.IComparable(Of Person).CompareTo
?? ????? Return Age-other.Age
???????’Return Name.CompareTo(other.Name)
< /p>
??? End Function
End Class
Class NameComparer
???’Implements IComparer
p>
??? Implements IComparer(Of Person)
???’Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
???’End Function
??? Public Function Compare( ByVal x As Person, ByVal y As Person) As Integer Implements System.Collections.Generic.IComparer(Of Person).Compare
??????? Return x. Name.CompareTo(y.Name)
??? End Function
End Class
If you have any errors, please correct me.
Original text: Big column Generic sorting (VB.NET)