Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

String.CompareTo méthode (Object)

 

Date de publication : novembre 2016

Compare cette instance avec un Object spécifié et indique si cette instance précède, suit ou apparaît à la même position dans l'ordre de tri que le Object spécifié.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public int CompareTo(
	object value
)

Paramètres

value
Type: System.Object

Objet qui prend pour valeur String.

Valeur de retour

Type: System.Int32

Entier signé 32 bits qui indique si cette instance précède, suit ou apparaît dans la même position dans l'ordre de tri que le paramètre value.

Valeur

Condition

Inférieure à zéro

Cette instance précède value.

Zéro

Cette instance a la même position dans l'ordre de tri que value.

Supérieure à zéro

Cette instance suit value.

ou

value a la valeur null.

Exception Condition
ArgumentException

value n'est pas un String.

valuedoit être un String objet.

System_CAPS_cautionAttention

Le CompareTo méthode a été conçue pour être utilisée dans le tri ou le tri alphabétique des opérations. Il ne doit pas être utilisé lorsque l’objectif principal de l’appel de méthode est de déterminer si deux chaînes sont équivalentes. Pour déterminer si deux chaînes sont équivalentes, appelez le Equals (méthode).

Cette méthode effectue une comparaison de mots (respectant la casse et dépendante de la culture) à l’aide de la culture actuelle. Pour plus d’informations sur word, de chaîne et de tri ordinal, consultez System.Globalization.CompareOptions.

Pour plus d’informations sur le comportement de cette méthode, consultez la section Notes de la String.Compare(String, String) (méthode).

Remarques à l’attention des appelants :

Les jeux de caractères incluent les caractères ignorables. LeCompareTo méthode ne considère pas ces caractères lorsqu’elle effectue une comparaison dépendante de la culture. Par exemple, si le code suivant est exécuté sur le .NET Framework 4 ou une version ultérieure, une comparaison de « préféré » avec « ani Outlook » (à l’aide d’un trait d’union, ou U + 00AD) indique que les deux chaînes sont équivalentes.

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

Pour qu’il reconnaisse les caractères ignorables dans une comparaison de chaînes, appeler leCompareOrdinal(String, String) (méthode).

L’exemple suivant utilise le CompareTo méthode avec un Object. Car elle tente de comparer un String de l’instance à un TestClass de l’objet, la méthode lève un 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 depuis 1.1
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: