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.

반환

정렬 순서에서 이 인스턴스의 위치가 value 매개 변수보다 앞인지, 뒤인지 또는 동일한지를 나타내는 32비트 부호 있는 정수입니다.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.

Value조건Condition
0보다 작습니다.Less than zero이 인스턴스가 value 앞에 오는 경우This instance precedes value.
0Zero이 인스턴스의 위치가 정렬 순서에서 value와 같은 경우This instance has the same position in the sort order as value.
0보다 큽니다.Greater than zero이 인스턴스가 value 다음에 오는 경우This instance follows value.

-또는--or-

valuenull인 경우value is null.

구현

예외

valueString가 아닌 경우value is not a String.

예제

다음 예제에서는 Object와 함께 CompareTo 메서드를 사용 합니다.The following example uses the CompareTo method with an Object. String 인스턴스를 TestClass 개체와 비교 하려고 하기 때문에 메서드는 ArgumentException를 throw 합니다.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

설명

valueString 개체 여야 합니다.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.

적용 대상