String.CompareOrdinal Méthode
Définition
Surcharges
CompareOrdinal(String, Int32, String, Int32, Int32) |
Compare les sous-chaînes de deux objets String spécifiés en évaluant les valeurs numériques des objets Char correspondants de chaque sous-chaîne.Compares substrings of two specified String objects by evaluating the numeric values of the corresponding Char objects in each substring. |
CompareOrdinal(String, String) |
Compare deux objets String spécifiés en évaluant les valeurs numériques des objets Char correspondants dans chaque chaîne.Compares two specified String objects by evaluating the numeric values of the corresponding Char objects in each string. |
CompareOrdinal(String, Int32, String, Int32, Int32)
public:
static int CompareOrdinal(System::String ^ strA, int indexA, System::String ^ strB, int indexB, int length);
public static int CompareOrdinal (string strA, int indexA, string strB, int indexB, int length);
public static int CompareOrdinal (string? strA, int indexA, string? strB, int indexB, int length);
static member CompareOrdinal : string * int * string * int * int -> int
Public Shared Function CompareOrdinal (strA As String, indexA As Integer, strB As String, indexB As Integer, length As Integer) As Integer
Paramètres
- strA
- String
Première chaîne à utiliser dans la comparaison.The first string to use in the comparison.
- indexA
- Int32
Index de départ de la sous-chaîne dans strA
.The starting index of the substring in strA
.
- strB
- String
Seconde chaîne à utiliser dans la comparaison.The second string to use in the comparison.
- indexB
- Int32
Index de départ de la sous-chaîne dans strB
.The starting index of the substring in strB
.
- length
- Int32
Nombre maximal de caractères dans les sous-chaînes à comparer.The maximum number of characters in the substrings to compare.
Retours
Entier signé 32 bits qui indique la relation lexicale entre les deux comparateurs.A 32-bit signed integer that indicates the lexical relationship between the two comparands.
ValueValue | ConditionCondition |
---|---|
Inférieure à zéroLess than zero | La sous-chaîne de strA est inférieure à la sous-chaîne de strB .The substring in strA is less than the substring in strB .
|
ZéroZero | Les sous-chaînes sont égales ou length est égal à zéro.The substrings are equal, or length is zero.
|
Supérieure à zéroGreater than zero | La sous-chaîne de strA est supérieure à la sous-chaîne de strB .The substring in strA is greater than the substring in strB .
|
Exceptions
strA
n’est pas null
et indexA
est supérieur à strA
.Length.strA
is not null
and indexA
is greater than strA
.Length.
- ou --or-
strB
n’est pas null
et indexB
est supérieur à strB
.Length.strB
is not null
and indexB
is greater than strB
.Length.
- ou --or-
indexA
, indexB
ou length
est un nombre négatif.indexA
, indexB
, or length
is negative.
Exemples
L’exemple suivant montre comment CompareOrdinal et Compare utilisent différents ordres de tri.This following example demonstrates that CompareOrdinal and Compare use different sort orders.
using namespace System;
using namespace System::Globalization;
int main()
{
String^ strLow = "abc";
String^ strCap = "ABC";
String^ result = "equal to ";
int x = 0;
int pos = 1;
// The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
x = String::CompareOrdinal( strLow, pos, strCap, pos, 1 );
if ( x < 0 )
result = "less than";
if ( x > 0 )
result = "greater than";
Console::WriteLine( "CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos );
Console::WriteLine( " '{0}' is {1} '{2}'", strLow[ pos ], result, strCap[ pos ] );
// In U.S. English culture, 'b' is linguistically less than 'B'.
x = String::Compare( strLow, pos, strCap, pos, 1, false, gcnew CultureInfo( "en-US" ) );
if ( x < 0 )
result = "less than";
else
if ( x > 0 )
result = "greater than";
Console::WriteLine( "Compare(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos );
Console::WriteLine( " '{0}' is {1} '{2}'", strLow[ pos ], result, strCap[ pos ] );
}
using System;
using System.Globalization;
class Test
{
public static void Main(String[] args)
{
String strLow = "abc";
String strCap = "ABC";
String result = "equal to ";
int x = 0;
int pos = 1;
// The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
x = String.CompareOrdinal(strLow, pos, strCap, pos, 1);
if (x < 0) result = "less than";
if (x > 0) result = "greater than";
Console.WriteLine("CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
Console.WriteLine(" '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);
// In U.S. English culture, 'b' is linguistically less than 'B'.
x = String.Compare(strLow, pos, strCap, pos, 1, false, new CultureInfo("en-US"));
if (x < 0) result = "less than";
else if (x > 0) result = "greater than";
Console.WriteLine("Compare(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
Console.WriteLine(" '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);
}
}
Imports System.Globalization
Class Test
Public Shared Sub Main(args() As [String])
Dim strLow As [String] = "abc"
Dim strCap As [String] = "ABC"
Dim result As [String] = "equal to "
Dim x As Integer = 0
Dim pos As Integer = 1
' The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
x = [String].CompareOrdinal(strLow, pos, strCap, pos, 1)
If x < 0 Then
result = "less than"
End If
If x > 0 Then
result = "greater than"
End If
' In U.S. English culture, 'b' is linguistically less than 'B'.
Console.WriteLine("CompareOrdinal(""{0}"".Chars({2}), ""{1}"".Chars({2})):", strLow, strCap, pos)
Console.WriteLine(" '{0}' is {1} '{2}'", strLow.Chars(pos), result, strCap.Chars(pos))
x = [String].Compare(strLow, pos, strCap, pos, 1, False, New CultureInfo("en-US"))
If x < 0 Then
result = "less than"
ElseIf x > 0 Then
result = "greater than"
End If
Console.WriteLine("Compare(""{0}"".Chars({2}), ""{1}"".Chars({2})):", strLow, strCap, pos)
Console.WriteLine(" '{0}' is {1} '{2}'", strLow.Chars(pos), result, strCap.Chars(pos))
End Sub
End Class
Remarques
Les indexA
indexB
paramètres, et length
ne doivent pas être négatifs.The indexA
, indexB
, and length
parameters must be nonnegative.
Le nombre de caractères comparés est le plus petit de la longueur de strA
moins indexA
, la longueur de strB
moins indexB
, et length
.The number of characters compared is the lesser of the length of strA
less indexA
, the length of strB
less indexB
, and length
.
Cette méthode effectue une comparaison respectant la casse à l’aide de règles de tri ordinal.This method performs a case-sensitive comparison using ordinal sort rules. Pour plus d’informations sur les tris de mot, de chaîne et ordinal, consultez System.Globalization.CompareOptions .For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Pour effectuer une comparaison ne respectant pas la casse à l’aide de règles de tri ordinal, appelez la Compare(String, Int32, String, Int32, Int32, StringComparison) méthode avec l’argument ayant la comparisonType
valeur StringComparison.OrdinalIgnoreCase .To perform a case-insensitive comparison using ordinal sort rules, call the Compare(String, Int32, String, Int32, Int32, StringComparison) method with the comparisonType
argument set to StringComparison.OrdinalIgnoreCase.
Étant donné que CompareOrdinal(String, String) est une méthode statique, elle strA
strB
peut être null
.Because CompareOrdinal(String, String) is a static method, strA
and strB
can be null
. Si les deux valeurs sont null
, la méthode retourne 0 (zéro), ce qui indique que strA
et strB
sont égaux.If both values are null
, the method returns 0 (zero), which indicates that strA
and strB
are equal. Si une seule des valeurs est null
, la méthode considère que la valeur non null est supérieure.If only one of the values is null
, the method considers the non-null value to be greater.
Voir aussi
S’applique à
CompareOrdinal(String, String)
public:
static int CompareOrdinal(System::String ^ strA, System::String ^ strB);
public static int CompareOrdinal (string strA, string strB);
public static int CompareOrdinal (string? strA, string? strB);
static member CompareOrdinal : string * string -> int
Public Shared Function CompareOrdinal (strA As String, strB As String) As Integer
Paramètres
- strA
- String
Première chaîne à comparer.The first string to compare.
- strB
- String
Deuxième chaîne à comparer.The second string to compare.
Retours
Entier qui indique la relation lexicale entre les deux comparateurs.An integer that indicates the lexical relationship between the two comparands.
ValueValue | ConditionCondition |
---|---|
Inférieure à zéroLess than zero | strA est inférieur à strB .strA is less than strB .
|
ZéroZero | strA et strB sont égaux.strA and strB are equal.
|
Supérieure à zéroGreater than zero | strA est supérieur à strB .strA is greater than strB .
|
Exemples
L’exemple suivant effectue une comparaison ordinale de deux chaînes qui diffèrent uniquement par la casse.The following example performs and ordinal comparison of two strings that only differ in case.
// Sample for String::CompareOrdinal(String, String)
using namespace System;
int main()
{
String^ str1 = "ABCD";
String^ str2 = "abcd";
String^ str;
int result;
Console::WriteLine();
Console::WriteLine( "Compare the numeric values of the corresponding Char objects in each string." );
Console::WriteLine( "str1 = '{0}', str2 = '{1}'", str1, str2 );
result = String::CompareOrdinal( str1, str2 );
str = ((result < 0) ? "less than" : ((result > 0) ? (String^)"greater than" : "equal to"));
Console::Write( "String '{0}' is ", str1 );
Console::Write( "{0} ", str );
Console::WriteLine( "String '{0}'.", str2 );
}
/*
This example produces the following results:
Compare the numeric values of the corresponding Char objects in each string.
str1 = 'ABCD', str2 = 'abcd'
String 'ABCD' is less than String 'abcd'.
*/
// Sample for String.CompareOrdinal(String, String)
using System;
class Sample {
public static void Main() {
String str1 = "ABCD";
String str2 = "abcd";
String str;
int result;
Console.WriteLine();
Console.WriteLine("Compare the numeric values of the corresponding Char objects in each string.");
Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2);
result = String.CompareOrdinal(str1, str2);
str = ((result < 0) ? "less than" : ((result > 0) ? "greater than" : "equal to"));
Console.Write("String '{0}' is ", str1);
Console.Write("{0} ", str);
Console.WriteLine("String '{0}'.", str2);
}
}
/*
This example produces the following results:
Compare the numeric values of the corresponding Char objects in each string.
str1 = 'ABCD', str2 = 'abcd'
String 'ABCD' is less than String 'abcd'.
*/
' Sample for String.CompareOrdinal(String, String)
Class Sample
Public Shared Sub Main()
Dim str1 As [String] = "ABCD"
Dim str2 As [String] = "abcd"
Dim str As [String]
Dim result As Integer
Console.WriteLine()
Console.WriteLine("Compare the numeric values of the corresponding Char objects in each string.")
Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2)
result = [String].CompareOrdinal(str1, str2)
str = IIf(result < 0, "less than", IIf(result > 0, "greater than", "equal to"))
Console.Write("String '{0}' is ", str1)
Console.Write("{0} ", str)
Console.WriteLine("String '{0}'.", str2)
End Sub
End Class
'
'This example produces the following results:
'
'Compare the numeric values of the corresponding Char objects in each string.
'str1 = 'ABCD', str2 = 'abcd'
'String 'ABCD' is less than String 'abcd'.
'
Remarques
Cette méthode effectue une comparaison respectant la casse à l’aide de règles de tri ordinal.This method performs a case-sensitive comparison using ordinal sort rules. Pour plus d’informations sur les tris de mot, de chaîne et ordinal, consultez System.Globalization.CompareOptions .For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Pour effectuer une comparaison ne respectant pas la casse à l’aide de règles de tri ordinal, appelez la Compare(String, String, StringComparison) méthode avec l’argument ayant la comparisonType
valeur StringComparison.OrdinalIgnoreCase .To perform a case-insensitive comparison using ordinal sort rules, call the Compare(String, String, StringComparison) method with the comparisonType
argument set to StringComparison.OrdinalIgnoreCase.
Étant donné que CompareOrdinal(String, String) est une méthode statique, elle strA
strB
peut être null
.Because CompareOrdinal(String, String) is a static method, strA
and strB
can be null
. Si les deux valeurs sont null
, la méthode retourne 0 (zéro), ce qui indique que strA
et strB
sont égaux.If both values are null
, the method returns 0 (zero), which indicates that strA
and strB
are equal. Si une seule des valeurs est null
, la méthode considère que la valeur non null est supérieure.If only one of the values is null
, the method considers the non-null value to be greater.