Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método String.CompareTo (Object)

 

Publicado: octubre de 2016

Compara esta instancia con un Object especificado e indica si la posición de esta instancia es anterior, posterior o igual que la posición del Object especificado en el criterio de ordenación.

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

public int CompareTo(
	object value
)

Parámetros

value
Type: System.Object

Un objeto que se evalúa como un objeto String.

Valor devuelto

Type: System.Int32

Entero con signo de 32 bits que indica si la posición de esta instancia es anterior, posterior o igual que la posición del parámetro value en el criterio de ordenación.

Valor

Condición

Menor que cero

Esta instancia precede a value.

Cero

En el criterio de ordenación, esta instancia tiene la misma posición que value.

Mayor que cero

Esta instancia es posterior a value.

o bien

El valor de value es null.

Exception Condition
ArgumentException

value no es un String.

valuedebe ser un String objeto.

System_CAPS_cautionPrecaución

El CompareTo método se ha diseñado principalmente para su uso en la ordenación de las operaciones o alfabética. No debe usarse cuando el propósito principal de la llamada al método es determinar si dos cadenas son equivalentes. Para determinar si dos cadenas son equivalentes, llame a la Equals método.

Este método realiza una comparación de palabras (distingue mayúsculas de minúsculas y la referencia cultural) usando la referencia cultural actual. Para obtener más información acerca de la ordenación de palabras, cadena y ordinal, vea System.Globalization.CompareOptions.

Para obtener más información sobre el comportamiento de este método, vea la sección Comentarios de la String.Compare(String, String) método.

Notas para llamadores:

Los juegos de caracteres incluyen caracteres que se pueden pasar por alto. ElCompareTo método no tiene en cuenta dichos caracteres cuando realiza una comparación dependiente de la referencia cultural. Por ejemplo, si el código siguiente se ejecuta en el .NET Framework 4 o una versión posterior, una comparación de "animal" con "ani-es" (con un guion o 00AD U +) indica que las dos cadenas son equivalentes.

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      object o1 = "animal";

      Console.WriteLine("Comparison of '{0}' and '{1}': {2}", 
                        s1, o1, s1.CompareTo(o1));
   }
}
// The example displays the following output:
//       Comparison of 'ani-mal' and 'animal': 0

Para que reconozca los caracteres pueden pasar por alto en una comparación de cadenas, llamar a laCompareOrdinal(String, String) método.

En el ejemplo siguiente se usa el CompareTo método con un Object. Porque intenta comparar una String instancia a un TestClass de objeto, el método produce una ArgumentException.

using System;

public class TestClass
{}

public class Example 
{
   public static void Main()
   {
      var test = new TestClass();
      Object[] objectsToCompare = { test, test.ToString(), 123,
                                    123.ToString(), "some text",
                                    "Some Text" };
      string s = "some text";
      foreach (var objectToCompare in objectsToCompare) {
         try {
            int i = s.CompareTo(objectToCompare);
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i);
         }
         catch (ArgumentException) {
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name);
         }
      }
   }
}
// The example displays the following output:
//    Bad argument: TestClass (type TestClass)
//    Comparing 'some text' with 'TestClass': -1
//    Bad argument: 123 (type Int32)
//    Comparing 'some text' with '123': 1
//    Comparing 'some text' with 'some text': 0
//    Comparing 'some text' with 'Some Text': -1

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: