String.IComparable.CompareTo(Object) Metoda

Definice

Porovná tuto instanci se zadaným Object a určuje, zda tato instance předchází, následuje nebo se zobrazí ve stejném pořadí řazení jako zadaná Object.

 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 vyhodnotí jako objekt .String

Návraty

32bitové celé číslo se znaménkem, které označuje, jestli tato instance předchází, následuje nebo se zobrazí ve stejném pořadí řazení jako value parametr.

HodnotaCondition
Menší než nulaTato instance předchází value.
NulaTato instance má stejnou pozici v pořadí řazení jako value.
Větší než nulaTato instance následuje valuenebo value je null.

Implementuje

Výjimky

Příklady

Následující příklad používá metodu CompareTo s .Object Vzhledem k tomu, že se pokusí porovnat String instanci s objektem TestClass , metoda vyvolá 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
open System

type TestClass() = class end

let test = TestClass()
let objectsToCompare: obj list =
    [ test; string test; 123
      string 123; "some text"
      "Some Text" ]
let s = "some text"
for objectToCompare in objectsToCompare do
    try
        let i = s.CompareTo objectToCompare
        printfn $"Comparing '{s}' with '{objectToCompare}': {i}"
    with :? ArgumentException ->
        printfn $"Bad argument: {objectToCompare} (type {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.

Caution

Metoda CompareTo byla navržena především pro operace řazení nebo abecedy. Neměla by být použita, pokud primárním účelem volání metody je určit, zda jsou dva řetězce ekvivalentní. Chcete-li zjistit, zda jsou dva řetězce ekvivalentní, zavolejte metodu Equals .

Tato metoda provádí porovnání slov (rozlišujících velká a malá písmena a jazykové verze) pomocí aktuální jazykové verze. Další informace o slovech, řetězcích a řadových řazeních naleznete v tématu System.Globalization.CompareOptions.

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

Platí pro