String.Compare
In VB.NET, 2 Strings can be compared. With Compare, CompareOrdinal
, and CompareTo
, we can determine whether one String
is ordered before another String
.
Compare is used to implement sorting routines. Compare returns just three values: -1, 0 and 1. This number indicates the relation of the two strings being compared.
First we declare two String
local variables. Next we call the Shared String.Compare
function. It returns -1—this means that String
a is smaller than, or comes before, String
b.
String
"b" is larger than String
a. And 0 means the two Strings are equal.CompareOrdinal
treats each character as an ordinal value. This means Chars are treated by their numeric value.CompareTo
, we use String
instances to perform the comparison. The results are the same as for String.Compare
.Module Module1 Sub Main() Dim a As String = "a" Dim b As String = "b" Dim c As Integer = String.Compare(a, b) Console.WriteLine(c) c = String.CompareOrdinal(b, a) Console.WriteLine(c) c = a.CompareTo(b) Console.WriteLine(c) c = b.CompareTo(a) Console.WriteLine(c) c = "x".CompareTo("x") Console.WriteLine(c) End Sub End Module-1 1 -1 1 0
In a sort, each String
must be compared to other Strings. With Compare and CompareTo
, an Enum
of StringComparison
type can be specified as an argument.
Enum
argument.StringComparison.Ordinal
will result in the CompareOrdinal
method being used in some way.With these methods, if the first String
is ordered first, we receive the value -1. If the Strings are equal, we receive 0. And we receive 1 if the second String
is first.