CompareInfo.Compare Method (String, String)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Compares two strings and returns an integer that indicates their relationship to one another in the sort order.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Overridable Function Compare ( _ string1 As String, _ string2 As String _ ) As Integer
Parameters
- string1
- Type: System.String
The first string to compare.
- string2
- Type: System.String
The second string to compare.
Return Value
Type: System.Int32An integer that indicates the relationship between the two strings in the sort order, as follows:
Value | Condition |
|---|---|
zero | The two strings are equal. |
less than zero | string1 precedes string2. |
greater than zero | string1 follows string2. |
By default, the comparison is performed using CompareOptions.None. To explicitly define the options used in the comparison, call the CompareInfo.Compare overload.
The following example demonstrates calling the Compare method.
Imports System.Text Imports System.Globalization Public NotInheritable Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim sign() As String = {"<", "=", ">"} ' The code below demonstrates how strings compare ' differently for different cultures. Dim s1 As String = "Coté" Dim s2 As String = "coté" Dim s3 As String = "côte" ' Set sort order of strings for French in France. Dim ci As CompareInfo = New CultureInfo("fr-FR").CompareInfo ' Display the result using fr-FR Compare of Coté = coté. outputBlock.Text += String.Format("fr-FR Compare: {0} {2} {1}", _ s1, s2, sign((ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1))) ' Display the result using fr-FR Compare of coté > côte. outputBlock.Text += String.Format("fr-FR Compare: {0} {2} {1}", _ s2, s3, sign((ci.Compare(s2, s3, CompareOptions.None) + 1))) ' Set sort order of strings for Japanese as spoken in Japan. ci = New CultureInfo("ja-JP").CompareInfo ' Display the result using ja-JP Compare of coté < côte. outputBlock.Text += String.Format("ja-JP Compare: {0} {2} {1}", _ s2, s3, sign((ci.Compare(s2, s3) + 1))) End Sub End Class ' This code produces the following output. ' ' fr-FR Compare: Coté = coté ' fr-FR Compare: coté > côte ' ja-JP Compare: coté < côte