Wild sorting (VB.NET)

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

???’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

??? 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)

Leave a Comment

Your email address will not be published.