Freigeben über


String.IComparable.CompareTo(Object) Methode

Definition

Vergleicht diese Instanz mit einem angegebenen Object und gibt an, ob diese Instanz in der Sortierreihenfolge an einer früheren, späteren oder derselben Position wie das angegebene Object aufgeführt wird.

 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

Parameter

value
Object

Ein Objekt, das als String ausgewertet wird.

Gibt zurück

Int32

Eine 32-Bit-Ganzzahl mit Vorzeichen, die angibt, ob diese Instanz in der Sortierreihenfolge an einer früheren, späteren oder derselben Position wie der value-Parameter aufgeführt wird.

WertBedingung
Kleiner als 0 (null)Diese Instanz geht value voran.
ZeroDiese Instanz hat in der Sortierreihenfolge dieselbe Position wie value.
Größer als 0 (null)Diese Instanz folgt value, oder value ist null.

Implementiert

Ausnahmen

value ist keine String.

Beispiele

Im folgenden Beispiel wird die CompareTo -Methode mit einem Object verwendet. Da versucht wird, eine -Instanz mit String einem -Objekt zu TestClass vergleichen, löst die -Methode eine ArgumentException aus.

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

Hinweise

value muss ein -Objekt String sein.

Achtung

Die CompareTo -Methode wurde hauptsächlich für die Verwendung bei Sortierungs- oder Alphabetisierungsvorgängen entwickelt. Sie sollte nicht verwendet werden, wenn der Hauptzweck des Methodenaufrufs ist, zu bestimmen, ob zwei Zeichenfolgen gleichwertig sind. Um zu bestimmen, ob zwei Zeichenfolgen gleichwertig sind, rufen Sie die Equals -Methode auf.

Diese Methode führt einen Wortvergleich (groß-/kleinschreibung und kulturabhängig) unter Verwendung der aktuellen Kultur durch. Weitere Informationen zu Wort-, Zeichenfolgen- und Ordnungssortierreihenfolgen finden Sie unter System.Globalization.CompareOptions .

Weitere Informationen zum Verhalten dieser Methode finden Sie im Abschnitt Hinweise der String.Compare(String, String) -Methode.

Gilt für