String.IComparable.CompareTo(Object) Метод

Определение

Сравнивает данный экземпляр с указанным объектом Object и показывает, расположен ли экземпляр перед, после или в той же позиции в порядке сортировки, что и заданный объект Object.Compares this instance with a specified Object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

 virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo (object value);
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo

Параметры

value
Object

Объект, имеющий значение String.An object that evaluates to a String.

Возвраты

32-битовое целое число со знаком, которое показывает, расположен ли данный экземпляр перед, после или на той же позиции в порядке сортировки, что и параметр value.A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter.

      <table><thead><tr><th><span data-ttu-id="8ff69-3512">Значение</span><span class="sxs-lookup"><span data-stu-id="8ff69-3512">Value</span></span></th><th><span data-ttu-id="8ff69-3513">Условие</span><span class="sxs-lookup"><span data-stu-id="8ff69-3513">Condition</span></span></th></tr></thead><tbody><tr><td><span data-ttu-id="8ff69-3514">Меньше нуля</span><span class="sxs-lookup"><span data-stu-id="8ff69-3514">Less than zero</span></span></td><td><span data-ttu-id="8ff69-3515">Данный экземпляр предшествует параметру <code data-dev-comment-type="paramref">value</code>.</span><span class="sxs-lookup"><span data-stu-id="8ff69-3515">This instance precedes <code data-dev-comment-type="paramref">value</code>.</span></span></td></tr><tr><td><span data-ttu-id="8ff69-3516">Нуль</span><span class="sxs-lookup"><span data-stu-id="8ff69-3516">Zero</span></span></td><td><span data-ttu-id="8ff69-3517">Данный экземпляр имеет ту же позицию в порядке сортировки, что и <code data-dev-comment-type="paramref">value</code>.</span><span class="sxs-lookup"><span data-stu-id="8ff69-3517">This instance has the same position in the sort order as <code data-dev-comment-type="paramref">value</code>.</span></span></td></tr><tr><td><span data-ttu-id="8ff69-3518">Больше нуля</span><span class="sxs-lookup"><span data-stu-id="8ff69-3518">Greater than zero</span></span></td><td><span data-ttu-id="8ff69-3519">Данный экземпляр стоит после параметра <code data-dev-comment-type="paramref">value</code>.</span><span class="sxs-lookup"><span data-stu-id="8ff69-3519">This instance follows <code data-dev-comment-type="paramref">value</code>.</span></span>

- или --or-

            <span data-ttu-id="8ff69-3521">Свойство <code data-dev-comment-type="paramref">value</code> имеет значение <code data-dev-comment-type="langword">null</code>.</span><span class="sxs-lookup"><span data-stu-id="8ff69-3521"><code data-dev-comment-type="paramref">value</code> is <code data-dev-comment-type="langword">null</code>.</span></span></td></tr></tbody></table>

Реализации

Исключения

value не является объектом String.value is not a String.

Примеры

В следующем примере используется метод CompareTo с Object.The following example uses the CompareTo method with an Object. Поскольку он пытается сравнить экземпляр String с объектом TestClass, метод создает исключение ArgumentException.Because it attempts to compare a String instance to a TestClass object, the method throws an 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

Комментарии

value должен быть объектом String.value must be a String object.

Внимание!

Метод CompareTo был разработан главным образом для использования в операциях сортировки или алфабетизинг.The CompareTo method was designed primarily for use in sorting or alphabetizing operations. Его не следует использовать, когда основной целью вызова метода является определение того, эквивалентны ли две строки.It should not be used when the primary purpose of the method call is to determine whether two strings are equivalent. Чтобы определить, эквивалентны ли две строки, вызовите метод Equals.To determine whether two strings are equivalent, call the Equals method.

Этот метод выполняет сравнение по словам (с учетом регистра и с учетом языка и региональных параметров), используя текущий язык и региональные параметры.This method performs a word (case-sensitive and culture-sensitive) comparison using the current culture. Дополнительные сведения о сортировке по словам, строкам и порядковым номерам см. в разделе System.Globalization.CompareOptions.For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions.

Дополнительные сведения о поведении этого метода см. в разделе "Примечания" метода String.Compare(String, String).For more information about the behavior of this method, see the Remarks section of the String.Compare(String, String) method.

Применяется к