Sdílet prostřednictvím


String.IComparable.CompareTo(Object) Metoda

Definice

Porovná tuto instanci se zadanou instancí a určuje, jestli tato instance předchází, následuje nebo se objevuje na stejné pozici v pořadí řazení Object jako zadaná Object instance .

 virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo (object value);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo

Parametry

value
Object

Objekt, který se vyhodnocuje jako String .

Návraty

Int32

32bitové celé číslo se znaménkem, které určuje, jestli tato instance předchází, následuje nebo se objevuje na stejné pozici v pořadí řazení jako value parametr .

HodnotaPodmínka
Menší než nulaTato instance předchází value .
ŽádnouTato instance má stejnou pozici v pořadí řazení jako value .
Větší než nulaTato instance následuje value za , nebo je value null .

Implementuje

Výjimky

value není String .

Příklady

Následující příklad používá CompareTo metodu s Object . Vzhledem k tomu, že se pokusí porovnat String instanci s TestClass objektem, metoda vyvolá výjimku ArgumentException .

using namespace System;

public ref class TestClass{};

int main()
{
   TestClass^ test = gcnew TestClass;
   array<Object^>^ objectsToCompare = { test, test->ToString(), 123,
                                        (123).ToString(), "some text",
                                        "Some Text" };
   String^ s = "some text";
   for each (Object^ objectToCompare in objectsToCompare) {
      try {
         Int32 i = s->CompareTo(objectToCompare);
         Console::WriteLine("Comparing '{0}' with '{1}': {2}",
                            s, objectToCompare, i);
      }
      catch (ArgumentException^ e) {
         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
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
Public Class TestClass
End Class 


Public Class Example
   Public Shared Sub Main()
      Dim test As New TestClass()
      Dim objectsToCompare() As Object = { test, test.ToString(), 123,
                                           123.ToString(), "some text",
                                           "Some Text" }
      Dim s As String = "some text"
      For Each objectToCompare In objectsToCompare
         Try
            Dim i As Integer = s.CompareTo(objectToCompare)
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i)
         Catch e As ArgumentException
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name)
         End Try
      Next
   End Sub 
End Class 
' 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

Poznámky

value musí být String objekt .

Upozornění

Metoda CompareTo byla navržena primárně pro použití při operacích řazení nebo abecedy. Neměl by se používat, pokud je primárním účelem volání metody určení, zda jsou dva řetězce ekvivalentní. Pokud chcete zjistit, jestli jsou dva řetězce ekvivalentní, zavolejte Equals metodu .

Tato metoda provádí porovnání slov (velká a malá písmena a specifika jazykové verze) použitím aktuální jazykové verze. Další informace o aplikaci Word, řetězci a pořadí řazení naleznete v tématu System.Globalization.CompareOptions .

Další informace o chování této metody naleznete v části poznámky v String.Compare(String, String) metodě.

Platí pro