SortKey.Compare(SortKey, SortKey) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Vergleicht zwei Sortierschlüssel.
public:
static int Compare(System::Globalization::SortKey ^ sortkey1, System::Globalization::SortKey ^ sortkey2);
public static int Compare (System.Globalization.SortKey sortkey1, System.Globalization.SortKey sortkey2);
static member Compare : System.Globalization.SortKey * System.Globalization.SortKey -> int
Public Shared Function Compare (sortkey1 As SortKey, sortkey2 As SortKey) As Integer
Parameter
- sortkey1
- SortKey
Der erste zu vergleichende Sortierschlüssel.
- sortkey2
- SortKey
Der zweite zu vergleichende Sortierschlüssel.
Gibt zurück
Eine ganze Zahl mit Vorzeichen, die die Beziehung zwischen sortkey1
und sortkey2
angibt.
Wert | Bedingung |
---|---|
Kleiner als 0 (null) | sortkey1 ist kleiner als sortkey2 .
|
Zero | sortkey1 ist gleich sortkey2 .
|
Größer als 0 (null) | sortkey1 ist größer als sortkey2 .
|
Ausnahmen
sortkey1
oder sortkey2
ist null
.
Beispiele
Im folgenden Codebeispiel werden zwei Zeichenfolgen mit der Compare -Methode und der entsprechenden CompareInfo.Compare(String, String, CompareOptions) -Methode verglichen.
// 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".
*/
' This code example demonstrates the CompareInfo.Compare() and
' SortKey.Compare() methods.
Imports System.Globalization
Class Sample
Public Shared Sub Main()
Dim lowerABC As String = "abc"
Dim upperABC As String = "ABC"
Dim result As Integer = 0
' Create a CompareInfo object for the en-US culture.
Console.WriteLine(vbCrLf & _
"Create a CompareInfo object for the en-US culture..." & _
vbCrLf)
Dim cmpi As CompareInfo = CompareInfo.GetCompareInfo("en-US")
' Alternatively:
' Dim cmpi As CompareInfo = New CultureInfo("en-US").CompareInfo
' Create sort keys for lowercase and uppercase "abc", the en-US culture, and
' ignore case.
Dim sk1LowerIgnCase As SortKey = cmpi.GetSortKey(lowerABC, CompareOptions.IgnoreCase)
Dim sk2UpperIgnCase As SortKey = cmpi.GetSortKey(upperABC, CompareOptions.IgnoreCase)
' Create sort keys for lowercase and uppercase "abc", the en-US culture, and
' use case.
Dim sk1LowerUseCase As SortKey = cmpi.GetSortKey(lowerABC, CompareOptions.None)
Dim sk2UpperUseCase As SortKey = 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)
End Sub
' Display the results of a comparison.
Private Shared Sub Display(ByVal compareResult As Integer, _
ByVal title As String, _
ByVal lower As String, _
ByVal upper As String)
Dim lessThan As String = "less than "
Dim equalTo As String = "equal to "
Dim greaterThan As String = "greater than "
Dim resultPhrase As String = Nothing
Dim format As String = "{0}:" & vbCrLf & " ""{1}"" is {2}""{3}""."
If compareResult < 0 Then
resultPhrase = lessThan
ElseIf compareResult > 0 Then
resultPhrase = greaterThan
Else
resultPhrase = equalTo
End If
Console.WriteLine(format, title, lower, resultPhrase, upper)
End Sub
End Class
'
'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".
'
Hinweise
Die Compare -Methode vergleicht die KeyData Eigenschaften der sortkey1
Parameter und sortkey2
. Die -Methode liefert die gleichen Ergebnisse wie die CompareInfo.Compare -Methode.
Weitere Informationen zur Compare -Methode und zum Vergleich von Sortierschlüsseln finden Sie im Thema zur SortKey -Klasse.