CompareTo. Is one value smaller, bigger or the same size as another value? By calling CompareTo, we can get this information, which is useful for sorting elements.
Instead of writing complicated If chains repeatedly, we can just invoke CompareTo on 2 Integers, Strings and other values. We often use CompareTo within a lambda used for sorting.
Example. We have 3 Integers in the Main subroutine. Two of them are equal to 5, and one is much larger and is equal to 100. We call CompareTo on these Integers.
Part 1 We compare the low value "a" to the high value "b" and the result is -1, meaning "a" is smaller.
Part 2 When we compare a high value to a low value, the result is 1, meaning the first value is larger than the second.
Part 3 When 2 equal values are compared, the result is 0. When sorting, this would mean no more reordering is needed.
Module Module1
Sub Main()
Dim a as Integer = 5
Dim b as Integer = 100
Dim c as Integer = 5
' Part 1: compare a low value to a high value.
Dim ab = a.CompareTo(b)
Console.WriteLine($"LOW CompareTo HIGH: {ab}")
' Part 2: compare a high value to a low value.
Dim ba = b.CompareTo(a)
Console.WriteLine($"HIGH CompareTo LOW: {ba}")
' Part 3: compare two equal values.
Dim ca = c.CompareTo(a)
Console.WriteLine($"EQUAL CompareTo: {ca}")
End Sub
End ModuleLOW CompareTo HIGH: -1
HIGH CompareTo LOW: 1
EQUAL CompareTo: 0
Summary. CompareTo is almost always used within sorting functions, like lambda expressions passed to List.Sort. Its result can be returned directly, as it will result in a correct sorting order.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.