SortKey.Compare Method
Assembly: mscorlib (in mscorlib.dll)
public static int Compare ( SortKey sortkey1, SortKey sortkey2 )
public static function Compare ( sortkey1 : SortKey, sortkey2 : SortKey ) : int
Parameters
- sortkey1
The first sort key to compare.
- sortkey2
The second sort key to compare.
Return Value
| Value | Condition |
|---|---|
| Less than zero | sortkey1 is less than sortkey2. |
| Zero | sortkey1 is equal to sortkey2. |
| Greater than zero | sortkey1 is greater than sortkey2. |
The Compare method compares the KeyData properties of the sortkey1 and sortkey2 parameters.
The Compare method yields the same results as the CompareInfo.Compare method.
The following code example compares two strings using the Compare method and the equivalent CompareInfo.Compare(String,String,CompareOptions) method.
// This code example demonstrates the CompareInfo.Compare() and // SortKey.Compare() methods. using System; using System.Globalization; class Sample { public static void Main() { string lowerABC = "abc"; string upperABC = "ABC"; int result = 0; // Create a CompareInfo object for the en-US culture. Console.WriteLine("\nCreate a CompareInfo object for the en-US culture...\n"); CompareInfo cmpi = CompareInfo.GetCompareInfo("en-US"); // Alternatively: // CompareInfo cmpi = new CultureInfo("en-US").CompareInfo; // Create sort keys for lowercase and uppercase "abc", the en-US culture, and // ignore case. SortKey sk1LowerIgnCase = cmpi.GetSortKey(lowerABC, CompareOptions.IgnoreCase); SortKey sk2UpperIgnCase = cmpi.GetSortKey(upperABC, CompareOptions.IgnoreCase); // Create sort keys for lowercase and uppercase "abc", the en-US culture, and // use case. SortKey sk1LowerUseCase = cmpi.GetSortKey(lowerABC, CompareOptions.None); SortKey sk2UpperUseCase = cmpi.GetSortKey(upperABC, CompareOptions.None); // Compare lowercase and uppercase "abc", ignoring case and using CompareInfo. result = cmpi.Compare(lowerABC, upperABC, CompareOptions.IgnoreCase); Display(result, "CompareInfo, Ignore case", lowerABC, upperABC); // Compare lowercase and uppercase "abc", ignoring case and using SortKey. result = SortKey.Compare(sk1LowerIgnCase, sk2UpperIgnCase); Display(result, "SortKey, Ignore case", lowerABC, upperABC); Console.WriteLine(); // Compare lowercase and uppercase "abc", using case and using CompareInfo. result = cmpi.Compare(lowerABC, upperABC, CompareOptions.None); Display(result, "CompareInfo, Use case", lowerABC, upperABC); // Compare lowercase and uppercase "abc", using case and using SortKey. result = SortKey.Compare(sk1LowerUseCase, sk2UpperUseCase); Display(result, "SortKey, Use case", lowerABC, upperABC); } // Display the results of a comparison. private static void Display(int compareResult, string title, string lower, string upper) { string lessThan = "less than "; string equalTo = "equal to "; string greaterThan = "greater than "; string resultPhrase = null; string format = "{0}:\n \"{1}\" is {2}\"{3}\"."; if (compareResult < 0) resultPhrase = lessThan; else if (compareResult > 0) resultPhrase = greaterThan; else resultPhrase = equalTo; Console.WriteLine(format, title, lower, resultPhrase, upper); } } /* This code example produces the following results: Create a CompareInfo object for the en-US culture... CompareInfo, Ignore case: "abc" is equal to "ABC". SortKey, Ignore case: "abc" is equal to "ABC". CompareInfo, Use case: "abc" is less than "ABC". SortKey, Use case: "abc" is less than "ABC". */
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.