Lire en anglais

Partager via


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, 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.

CompareOrdinal(String, String)

Source:
String.Comparison.cs
Source:
String.Comparison.cs
Source:
String.Comparison.cs

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

C#
public static int CompareOrdinal(string strA, string strB);
C#
public static int CompareOrdinal(string? strA, string? strB);

Paramètres

strA
String

Première chaîne à comparer.

strB
String

Deuxième chaîne à comparer.

Retours

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 et compare ordinale de deux chaînes qui diffèrent uniquement en cas.

C#
// 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'.
*/

Remarques

Cette méthode effectue une comparaison respectant la casse à l’aide de règles de tri ordinales. Pour plus d’informations sur les tris de mots, de chaîne et d’ordinaux, consultez System.Globalization.CompareOptions. Pour effectuer une comparaison qui ne respecte pas la casse à l’aide de règles de tri ordinales, appelez la Compare(String, String, StringComparison) méthode avec l’argument comparisonType défini sur StringComparison.OrdinalIgnoreCase.

Car CompareOrdinal(String, String) est une méthode statique et strAstrB 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 à

.NET 10 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CompareOrdinal(String, Int32, String, Int32, Int32)

Source:
String.Comparison.cs
Source:
String.Comparison.cs
Source:
String.Comparison.cs

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.

C#
public static int CompareOrdinal(string strA, int indexA, string strB, int indexB, int length);
C#
public static int CompareOrdinal(string? strA, int indexA, string? strB, int indexB, int length);

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

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

Cet exemple suivant montre que CompareOrdinal et Compare utilisent différents ordres de tri.

C#
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]);
    }
}

Remarques

Les indexAparamètres , indexBet length doivent être non négatifs.

Le nombre de caractères comparé est le moins élevé de la longueur de strA moins indexA, de la longueur de moins indexB, et lengthde strB .

Cette méthode effectue une comparaison respectant la casse à l’aide de règles de tri ordinales. Pour plus d’informations sur les tris de mots, de chaîne et d’ordinaux, consultez System.Globalization.CompareOptions. Pour effectuer une comparaison qui ne respecte pas la casse à l’aide de règles de tri ordinales, appelez la Compare(String, Int32, String, Int32, Int32, StringComparison) méthode avec l’argument comparisonType défini sur StringComparison.OrdinalIgnoreCase.

Car CompareOrdinal(String, String) est une méthode statique et strAstrB 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 à

.NET 10 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0