Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo String.CompareTo (Object)

 

Data di pubblicazione: ottobre 2016

Confronta questa istanza con un oggetto Object specificato e indica se questa istanza precede, segue o si trova nella stessa posizione dell'oggetto Object specificato all'interno dell'ordinamento.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public int CompareTo(
	object value
)

Parametri

value
Type: System.Object

Oggetto che restituisce un oggetto String.

Valore restituito

Type: System.Int32

Intero con segno a 32 bit che indica se questa istanza precede, segue o si trova nella stessa posizione del parametro value nell'ordinamento.

Valore

Condizione

Minore di zero

Questa istanza precede value.

Zero

Questa istanza si trova nella stessa posizione di value nell'ordinamento.

Maggiore di zero

L'istanza segue value.

-oppure-

value è null.

Exception Condition
ArgumentException

value non è un oggetto String.

valuedeve essere un String oggetto.

System_CAPS_cautionAttenzione

Il CompareTo metodo è stato progettato principalmente per l'utilizzo nelle operazioni di ordinamento alfabetico di ordinamento. Non deve essere utilizzato quando lo scopo principale della chiamata al metodo consiste nel determinare se due stringhe sono equivalenti. Per determinare se due stringhe sono equivalenti, chiamare il Equals metodo.

Questo metodo esegue un confronto per parola (maiuscole/minuscole e distinzione delle impostazioni cultura) utilizzando le impostazioni cultura correnti. Per ulteriori informazioni sulla parola, stringa e ordinale ordinamenti, vedere System.Globalization.CompareOptions.

Per ulteriori informazioni sul comportamento di questo metodo, vedere la sezione Note del String.Compare(String, String) metodo.

Note per i chiamanti:

I set di caratteri includono caratteri ignorabili. IlCompareTo metodo non prende in considerazione tali caratteri quando si esegue un confronto con distinzione delle impostazioni cultura. Ad esempio, se il codice seguente viene eseguito il .NET Framework 4 o versioni successive, un confronto tra "animale" con "ani posta" (con un segno meno facoltativo o U + 00AD) indica che le due stringhe sono equivalenti.

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

Per riconoscere i caratteri ignorabili in un confronto tra stringhe, chiamare ilCompareOrdinal(String, String) metodo.

L'esempio seguente usa il CompareTo metodo con un Object. Perché tenta di confrontare un String istanza a un TestClass dell'oggetto, il metodo genera 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
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: