Tuple<T1,T2>.IComparable.CompareTo(Object) 메서드

정의

현재 Tuple<T1,T2> 개체를 지정된 개체와 비교하고 현재 개체가 정렬 순서에 지정된 개체보다 이전인지, 이후인지 또는 같은 위치인지를 나타내는 정수를 반환합니다.Compares the current Tuple<T1,T2> object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

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

매개 변수

obj
Object

현재 인스턴스와 비교할 개체입니다.An object to compare with the current instance.

반환

Int32

다음 표와 같이 정렬 순서에서 이 인스턴스와 obj의 상대적 위치를 나타내는 부호 있는 정수입니다.A signed integer that indicates the relative position of this instance and obj in the sort order, as shown in the following table.

Value 설명Description
음의 정수A negative integer 이 인스턴스가 obj 앞에 오는 경우This instance precedes obj.
0Zero 이 인스턴스와 obj의 위치가 정렬 순서에서 같은 경우This instance and obj have the same position in the sort order.
양의 정수A positive integer 이 인스턴스가 obj 다음에 오는 경우This instance follows obj.

구현

예외

objTuple<T1,T2> 개체가 아닙니다.obj is not a Tuple<T1,T2> object.

예제

다음 예제에서는 학생 이름과 테스트 점수를 구성 하는 Tuple<T1,T2> 개체의 배열을 만듭니다.The following example creates an array of Tuple<T1,T2> objects that consist of a student's name and test score. 정렬 되지 않은 순서로 배열의 각 튜플의 구성 요소를 표시 하 고, 배열을 정렬 한 다음 ToString를 호출 하 여 각 튜플의 값을 정렬 된 순서로 표시 합니다.It displays the component of each tuple in the array in unsorted order, sorts the array, and then calls ToString to display the value of each tuple in sorted order. 출력 배열에 해당 첫 번째 구성 요소에 의해 정렬 된 것을 보여 줍니다.The output shows that the array has been sorted by its first component. 예제에서는 IComparable.CompareTo(Object) 메서드를 직접 호출 하지 않습니다.Note that the example does not directly call the IComparable.CompareTo(Object) method. 이 메서드는 배열의 각 요소에 대 한 Sort(Array) 메서드에서 암시적으로 호출 됩니다.This method is called implicitly by the Sort(Array) method for each element in the array.

using System;

public class Example
{
   public static void Main()
   {
      Tuple<string, Nullable<int>>[] scores = 
                    { new Tuple<string, Nullable<int>>("Jack", 78),
                      new Tuple<string, Nullable<int>>("Abbey", 92), 
                      new Tuple<string, Nullable<int>>("Dave", 88),
                      new Tuple<string, Nullable<int>>("Sam", 91), 
                      new Tuple<string, Nullable<int>>("Ed", null),
                      new Tuple<string, Nullable<int>>("Penelope", 82),
                      new Tuple<string, Nullable<int>>("Linda", 99),
                      new Tuple<string, Nullable<int>>("Judith", 84) };

      Console.WriteLine("The values in unsorted order:");
      foreach (Tuple<string, Nullable<int>> score in scores)
         Console.WriteLine(score.ToString());

      Console.WriteLine();

      Array.Sort(scores);

      Console.WriteLine("The values in sorted order:");
      foreach (Tuple<string, Nullable<int>> score in scores)
         Console.WriteLine(score.ToString());
   }
}
// The example displays the following output;
//       The values in unsorted order:
//       (Jack, 78)
//       (Abbey, 92)
//       (Dave, 88)
//       (Sam, 91)
//       (Ed, )
//       (Penelope, 82)
//       (Linda, 99)
//       (Judith, 84)
//       
//       The values in sorted order:
//       (Abbey, 92)
//       (Dave, 88)
//       (Ed, )
//       (Jack, 78)
//       (Judith, 84)
//       (Linda, 99)
//       (Penelope, 82)
//       (Sam, 91)
Module Example
   Public Sub Main()
      Dim scores() As Tuple(Of String, Nullable(Of Integer)) = 
                      { New Tuple(Of String, Nullable(Of Integer))("Jack", 78),
                        New Tuple(Of String, Nullable(Of Integer))("Abbey", 92), 
                        New Tuple(Of String, Nullable(Of Integer))("Dave", 88),
                        New Tuple(Of String, Nullable(Of Integer))("Sam", 91), 
                        New Tuple(Of String, Nullable(Of Integer))("Ed", Nothing),
                        New Tuple(Of String, Nullable(Of Integer))("Penelope", 82),
                        New Tuple(Of String, Nullable(Of Integer))("Linda", 99),
                        New Tuple(Of String, Nullable(Of Integer))("Judith", 84) }

      Console.WriteLine("The values in unsorted order:")
      For Each score In scores
         Console.WriteLine(score.ToString())
      Next
      Console.WriteLine()

      Array.Sort(scores)

      Console.WriteLine("The values in sorted order:")
      For Each score In scores
         Console.WriteLine(score.ToString())
      Next
   End Sub
End Module
' The example displays the following output;
'       The values in unsorted order:
'       (Jack, 78)
'       (Abbey, 92)
'       (Dave, 88)
'       (Sam, 91)
'       (Ed, )
'       (Penelope, 82)
'       (Linda, 99)
'       (Judith, 84)
'       
'       The values in sorted order:
'       (Abbey, 92)
'       (Dave, 88)
'       (Ed, )
'       (Jack, 78)
'       (Judith, 84)
'       (Linda, 99)
'       (Penelope, 82)
'       (Sam, 91)

설명

이 멤버는 명시적인 인터페이스 멤버 구현입니다.This member is an explicit interface member implementation. Tuple<T1,T2> 인스턴스가 IComparable 인터페이스로 캐스팅된 경우에만 사용할 수 있습니다.It can be used only when the Tuple<T1,T2> instance is cast to an IComparable interface.

이 메서드는 Tuple<T1,T2> 클래스에 대 한 IComparable.CompareTo 구현을 제공 합니다.This method provides the IComparable.CompareTo implementation for the Tuple<T1,T2> class. 메서드는 직접 호출할 수 있지만 컬렉션의 멤버를 정렬 하기 위해 Array.Sort(Array)SortedList.Add와 같은 컬렉션 정렬 메서드의 기본 오버 로드에서 가장 일반적으로 호출 됩니다.Although the method can be called directly, it is most commonly called by the default overloads of collection sorting methods, such as Array.Sort(Array) and SortedList.Add, to order the members of a collection.

주의

Tuple<T1,T2>.IComparable.CompareTo 메서드는 정렬 작업에 사용 하기 위한 것입니다.The Tuple<T1,T2>.IComparable.CompareTo method is intended for use in sorting operations. 비교의 주요 목적은 두 개체가 같은지 여부를 결정할 때 하지 사용 해야 합니다.It should not be used when the primary purpose of a comparison is to determine whether two objects are equal. 두 개체가 같은지 여부를 확인 하려면 Equals 메서드를 호출 합니다.To determine whether two objects are equal, call the Equals method.

Tuple<T1,T2>.IComparable.CompareTo 메서드는 기본 개체 비교자를 사용 하 여 각 구성 요소를 비교 합니다.The Tuple<T1,T2>.IComparable.CompareTo method uses the default object comparer to compare each component.

적용 대상

추가 정보