Leer en inglés

Compartir a través de


String.CompareOrdinal Método

Definición

Compara dos objetos String mediante la evaluación de los valores numéricos de los objetos Char correspondientes de cada cadena.

Sobrecargas

CompareOrdinal(String, String)

Compara dos objetos String especificados mediante la evaluación de los valores numéricos de los objetos Char correspondientes de cada cadena.

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

Compara las subcadenas de dos objetos String especificados mediante la evaluación de los valores numéricos de los correspondientes objetos Char en cada subcadena.

CompareOrdinal(String, String)

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

Compara dos objetos String especificados mediante la evaluación de los valores numéricos de los objetos Char correspondientes de cada cadena.

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

Parámetros

strA
String

Primera cadena que se va a comparar.

strB
String

Segunda cadena que se va a comparar.

Devoluciones

Entero que indica la relación léxica que existe entre los dos términos de una comparación.

Valor Condición
Menor que cero strA es menor que strB.
Cero strA y strB son iguales.
Mayor que cero strA es mayor que strB.

Ejemplos

En el ejemplo siguiente se realiza una comparación ordinal de dos cadenas que solo difieren en mayúsculas y minúsculas.

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

Comentarios

Este método realiza una comparación que distingue mayúsculas de minúsculas mediante reglas de ordenación ordinal. Para obtener más información sobre las ordenación de palabras, cadenas y ordinales, vea System.Globalization.CompareOptions. Para realizar una comparación sin distinción entre mayúsculas y minúsculas mediante reglas de ordenación ordinal, llame al Compare(String, String, StringComparison) método con el comparisonType argumento establecido en StringComparison.OrdinalIgnoreCase.

Dado que CompareOrdinal(String, String) es un método estático, strA y strB puede ser null. Si ambos valores son null, el método devuelve 0 (cero), que indica que strA y strB son iguales. Si solo uno de los valores es null, el método considera que el valor distinto de NULL es mayor.

Consulte también

Se aplica a

.NET 10 y otras versiones
Producto Versiones
.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

Compara las subcadenas de dos objetos String especificados mediante la evaluación de los valores numéricos de los correspondientes objetos Char en cada subcadena.

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);

Parámetros

strA
String

Primera cadena que se va a usar en la comparación.

indexA
Int32

Índice inicial de la subcadena de strA.

strB
String

Segunda cadena que se va a usar en la comparación.

indexB
Int32

Índice inicial de la subcadena de strB.

length
Int32

Número máximo de caracteres de las subcadenas que se van a comparar.

Devoluciones

Entero de 32 bits con signo que indica la relación léxica que existe entre los dos términos de una comparación.

Valor Condición
Menor que cero La subcadena de strA es menor que la subcadena de strB.
Cero Las subcadenas son iguales o length es cero.
Mayor que cero La subcadena de strA es mayor que la subcadena de strB.

Excepciones

strA no es null y indexA es mayor que strA.Length.

o bien

strB no es null y indexB es mayor que strB.Length.

o bien

indexA, indexB o length es negativo.

Ejemplos

En este ejemplo siguiente se muestra que CompareOrdinal y Compare usan diferentes órdenes de ordenación.

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

Comentarios

Los indexAparámetros , indexBy length deben ser no negativo.

El número de caracteres comparado es el menor de la longitud de strA menos indexA, la longitud de strB menos y .lengthindexB

Este método realiza una comparación que distingue mayúsculas de minúsculas mediante reglas de ordenación ordinal. Para obtener más información sobre las ordenación de palabras, cadenas y ordinales, vea System.Globalization.CompareOptions. Para realizar una comparación sin distinción entre mayúsculas y minúsculas mediante reglas de ordenación ordinal, llame al Compare(String, Int32, String, Int32, Int32, StringComparison) método con el comparisonType argumento establecido en StringComparison.OrdinalIgnoreCase.

Dado que CompareOrdinal(String, String) es un método estático, strA y strB puede ser null. Si ambos valores son null, el método devuelve 0 (cero), que indica que strA y strB son iguales. Si solo uno de los valores es null, el método considera que el valor distinto de NULL es mayor.

Consulte también

Se aplica a

.NET 10 y otras versiones
Producto Versiones
.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