VENTAS: 1-800-867-1389
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

String.Compare (Método) (String, Int32, String, Int32, Int32)

Compara las subcadenas de dos objetos String especificados y devuelve un entero que indica su posición relativa en el criterio de ordenación.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public static int Compare(
	string strA,
	int indexA,
	string strB,
	int indexB,
	int length
)

Parámetros

strA
Tipo: System.String
Primera cadena que se va a usar en la comparación.
indexA
Tipo: System.Int32
Posición de la subcadena dentro de strA.
strB
Tipo: System.String
Segunda cadena que se va a usar en la comparación.
indexB
Tipo: System.Int32
Posición de la subcadena dentro de strB.
length
Tipo: System.Int32
Número máximo de caracteres de las subcadenas que se van a comparar.

Valor devuelto

Tipo: System.Int32
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

Condition

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.

ExcepciónCondición
ArgumentOutOfRangeException

El valor de indexA es mayor que strA. Length.

O bien

El valor de indexB es mayor que strB. Length.

O bien

indexA, indexB o length son valores negativos.

O bien

indexA o indexB es null y length es mayor que cero.

Las subcadenas que van a compararse comienzan en strA para indexA y en strB para indexB. indexA e indexB son de base cero; es decir, el primer carácter de strA y strB está en la posición cero. La longitud de la primera subcadena es igual a la longitud de strA menos indexA más uno. La longitud de la segunda subcadena es igual a la longitud de strB menos indexB más uno.

El número de caracteres que se van a comparar coincide con la menor de las longitudes de las dos subcadenas y length. Los parámetros indexA, indexB y length deben ser números no negativos.

La operación de comparación utiliza la referencia cultural actual para obtener información específica de la referencia cultural como, por ejemplo, las reglas relativas a las mayúsculas y minúsculas y el orden alfabético de los caracteres individuales. Por ejemplo, una referencia cultural podría especificar que ciertas combinaciones de caracteres fuesen consideradas como un solo carácter, o que los caracteres en mayúsculas y minúsculas se comparasen de una forma específica, o que el criterio de ordenación de un carácter dependiese de los caracteres anteriores o posteriores.

La operación de comparación se realiza utilizando las reglas de ordenación de palabras. Para obtener más información sobre las operaciones de ordenación de palabras, cadenas y ordinales, vea System.Globalization.CompareOptions.

Nota de precauciónPrecaución

Al comparar las cadenas, debe llamar al método Compare(String, Int32, String, Int32, Int32, StringComparison), que requiere que se especifique explícitamente el tipo de comparación de cadenas que el método utiliza. Para obtener más información, vea Procedimientos recomendados para el uso de cadenas en .NET Framework.

Uno o los dos términos de la comparación pueden ser null. Por definición, todas las cadenas, incluida la cadena vacía (""), son mayores que una referencia nula, y dos referencias nulas son iguales entre sí.

La comparación se da por terminada cuando se detecta una desigualdad o cuando se han comparado las dos subcadenas. Sin embargo, si las dos cadenas son iguales hasta el final de una de ellas y la otra cadena tiene aún más caracteres, se considera que esta última cadena es mayor. El valor devuelto es el resultado de la última comparación realizada.

Si las operaciones de comparación se ven afectadas por las reglas de mayúsculas y minúsculas específicas de la referencia cultural, pueden obtenerse resultados inesperados. En el siguiente ejemplo, en turco, se generan resultados no válidos porque el sistema de archivos turco no usa las reglas lingüísticas de mayúsculas y minúsculas para la letra "i" de "file".


static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, true) == 0);
}


Compare el nombre de ruta para "file" utilizando una comparación de ordinales. Para ello, el código correcto que habría que utilizar sería el siguiente:


static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, StringComparison.OrdinalIgnoreCase) == 0);
}


Notas para los llamadores

Los juegos de caracteres incluyen caracteres que se pueden pasar por alto. El método de Compare(String, Int32, String, Int32, Int32) no considera estos caracteres cuando se realiza una comparación lingüística o cultura- confidencial. Para reconocer los caracteres ignorable en la comparación, llame al método de Compare(String, Int32, String, Int32, Int32, StringComparison) y proporcione un valor de CompareOptions.Ordinal o de CompareOptions.OrdinalIgnoreCase para el parámetro de comparisonType .

En el ejemplo siguiente se comparan dos subcadenas.


// Sample for String.Compare(String, Int32, String, Int32, Int32)
using System;

class Sample {
    public static void Main() {
//                 0123456
    String str1 = "machine";
    String str2 = "device";
    String str;
    int result;

    Console.WriteLine();
    Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2);
    result = String.Compare(str1, 2, str2, 0, 2);
    str = ((result < 0) ? "less than" : ((result > 0) ? "greater than" : "equal to"));
    Console.Write("Substring '{0}' in '{1}' is ", str1.Substring(2, 2), str1);
    Console.Write("{0} ", str);
    Console.WriteLine("substring '{0}' in '{1}'.", str2.Substring(0, 2), str2);
    }
}
/*
This example produces the following results:

str1 = 'machine', str2 = 'device'
Substring 'ch' in 'machine' is less than substring 'de' in 'device'.
*/


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

Mostrar:
© 2014 Microsoft