String.CompareOrdinal Méthode

Définition

Compare deux objets String en évaluant les valeurs numériques des objets Char correspondants dans chaque chaîne.

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.

CompareOrdinal(String, String)

Compare deux objets String spécifiés en évaluant les valeurs numériques des objets Char correspondants dans chaque chaîne.

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.

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.

indexA
Int32

Index de départ de la sous-chaîne dans strA.

strB
String

Seconde chaîne à utiliser dans la comparaison.

indexB
Int32

Index de départ de la sous-chaîne dans strB.

length
Int32

Nombre maximal de caractères dans les sous-chaînes à comparer.

Retours

Int32

Entier signé 32 bits qui indique la relation lexicale entre les deux comparateurs.

Value Condition
Inférieure à zéro La sous-chaîne de strA est inférieure à la sous-chaîne de strB.
Zéro Les sous-chaînes sont égales ou length est égal à zéro.
Supérieure à zéro La sous-chaîne de strA est supérieure à la sous-chaîne de strB.

Exceptions

strA n’est pas null et indexA est supérieur à strA.Length.

  • ou -

strB n’est pas null et indexB est supérieur à strB.Length.

  • ou -

indexA, indexB ou length est un nombre négatif.

Exemples

L’exemple suivant montre comment CompareOrdinal et Compare utilisent différents ordres de tri.

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.

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 .

Cette méthode effectue une comparaison respectant la casse à l’aide de règles de tri ordinal. Pour plus d’informations sur les tris de mot, de chaîne et ordinal, consultez 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 .

Étant donné que CompareOrdinal(String, String) est une méthode statique, elle strA strB peut être null . Si les deux valeurs sont null , la méthode retourne 0 (zéro), ce qui indique que strA et strB sont égaux. Si une seule des valeurs est null , la méthode considère que la valeur non null est supérieure.

Voir aussi

S’applique à

CompareOrdinal(String, String)

Compare deux objets String spécifiés en évaluant les valeurs numériques des objets Char correspondants dans chaque chaîne.

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.

strB
String

Deuxième chaîne à comparer.

Retours

Int32

Entier qui indique la relation lexicale entre les deux comparateurs.

Value Condition
Inférieure à zéro strA est inférieur à strB.
Zéro strA et strB sont égaux.
Supérieure à zéro strA est supérieur à strB.

Exemples

L’exemple suivant effectue une comparaison ordinale de deux chaînes qui diffèrent uniquement par la casse.

// 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. Pour plus d’informations sur les tris de mot, de chaîne et ordinal, consultez 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 .

Étant donné que CompareOrdinal(String, String) est une méthode statique, elle strA strB peut être null . Si les deux valeurs sont null , la méthode retourne 0 (zéro), ce qui indique que strA et strB sont égaux. Si une seule des valeurs est null , la méthode considère que la valeur non null est supérieure.

Voir aussi

S’applique à