SortKey.Compare(SortKey, SortKey) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Confronta due chiavi di ordinamento.
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
Parametri
- sortkey1
- SortKey
Prima chiave di ordinamento da confrontare.
- sortkey2
- SortKey
Seconda chiave di ordinamento da confrontare.
Restituisce
Intero con segno che indica la relazione tra sortkey1
e sortkey2
.
Valore | Condizione |
---|---|
Minore di zero | sortkey1 è minore di sortkey2 .
|
Zero | sortkey1 è uguale a sortkey2 .
|
Maggiore di zero | sortkey1 è maggiore di sortkey2 .
|
Eccezioni
sortkey1
o sortkey2
è null
.
Esempio
Nell'esempio di codice seguente vengono confrontate due stringhe usando il Compare metodo e il metodo equivalente CompareInfo.Compare(String, String, CompareOptions) .
// 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".
'
Commenti
Il Compare metodo confronta le KeyData proprietà dei sortkey1
parametri e sortkey2
. Il metodo restituisce gli stessi risultati del CompareInfo.Compare metodo .
Per altre informazioni sul Compare metodo e sul confronto delle chiavi di ordinamento, vedere l'argomento relativo alla SortKey classe.