다음을 통해 공유


Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.IComparable.CompareTo(Object) 메서드

정의

현재 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 개체를 지정된 개체와 비교하고 현재 개체가 정렬 순서에 지정된 개체보다 이전인지, 이후인지 또는 같은 위치인지를 나타내는 정수를 반환합니다.

 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

현재 인스턴스와 비교할 개체입니다.

반환

Int32

다음 표와 같이 정렬 순서에서 이 인스턴스와 obj의 상대적 위치를 나타내는 부호 있는 정수입니다.

설명
음의 정수 이 인스턴스가 obj 앞에 오는 경우
0 이 인스턴스와 obj의 위치가 정렬 순서에서 같은 경우
양의 정수 이 인스턴스가 obj 다음에 오는 경우

구현

예외

objTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 개체가 아닙니다.

예제

다음 예제에서는 구성 요소가 소수 범위를 포함하는 정수인 8진수 배열을 만듭니다. 이 예제에서는 배열의 요소를 정렬되지 않은 순서로 표시하고 배열을 정렬한 다음 배열을 정렬된 순서로 표시합니다. 출력은 배열이 정렬되었거나 튜플의 첫 번째 구성 요소를 기준으로 Item1정렬되었음을 보여줍니다. 이 예제에서는 메서드를 직접 호출 IComparable.CompareTo(Object) 하지 않습니다. 이 메서드는 배열의 각 요소에 Sort(Array) 대해 메서드에 의해 암시적으로 호출됩니다.

using System;

public class Example
{
   public static void Main()
   {
      // Create array of 8-tuple objects containing prime numbers.
      Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, Tuple<Int32>>[] primes = 
                     { new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19)),
                       new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55)), 
                       new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) };
      // Display 8-tuples in unsorted order.
      foreach (var prime in primes)
         Console.WriteLine(prime.ToString());
      Console.WriteLine();
      
      // Sort the array and display its 8-tuples.
      Array.Sort(primes);
      foreach (var prime in primes)
         Console.WriteLine(prime.ToString());
   }
}
// The example displays the following output:
//       (2, 3, 5, 7, 11, 13, 17, 19)
//       (23, 29, 31, 37, 41, 43, 47, 55)
//       (3, 2, 5, 7, 11, 13, 17, 19)
//       
//       (2, 3, 5, 7, 11, 13, 17, 19)
//       (3, 2, 5, 7, 11, 13, 17, 19)
//       (23, 29, 31, 37, 41, 43, 47, 55)
open System

// Create array of 8-tuple objects containing prime numbers.
let primes = 
    [| new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
           Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
       new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
           Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55)) 
       new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
           Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) |]
// Display 8-tuples in unsorted order.
for prime in primes do
    printfn $"{prime}"
printfn ""

// Sort the array and display its 8-tuples.
Array.Sort primes
for prime in primes do
    printfn $"{prime}"
// The example displays the following output:
//       (2, 3, 5, 7, 11, 13, 17, 19)
//       (23, 29, 31, 37, 41, 43, 47, 55)
//       (3, 2, 5, 7, 11, 13, 17, 19)
//       
//       (2, 3, 5, 7, 11, 13, 17, 19)
//       (3, 2, 5, 7, 11, 13, 17, 19)
//       (23, 29, 31, 37, 41, 43, 47, 55)
Module Example
   Public Sub Main()
      ' Create array of 8-tuple objects containing prime numbers.
      Dim primes() = { New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32)(19)),
                       New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (23, 29, 31, 37, 41, 43, 47, 
                           New Tuple(Of Int32)(55)), 
                       New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, 
                           Tuple(Of Int32)) (3, 2, 5, 7, 11, 13, 17, 
                           New Tuple(Of Int32)(19)) }
      ' Display 8-tuples in unsorted order.
      For Each prime In primes
         Console.WriteLine(prime.ToString())
      Next
      Console.WriteLine()
      
      ' Sort the array and display its 8-tuples.
      Array.Sort(primes)
      For Each prime In primes
         Console.WriteLine(prime.ToString())
      Next
   End Sub
End Module
' The example displays the following output:
'       (2, 3, 5, 7, 11, 13, 17, 19)
'       (23, 29, 31, 37, 41, 43, 47, 55)
'       (3, 2, 5, 7, 11, 13, 17, 19)
'       
'       (2, 3, 5, 7, 11, 13, 17, 19)
'       (3, 2, 5, 7, 11, 13, 17, 19)
'       (23, 29, 31, 37, 41, 43, 47, 55)

설명

이 멤버는 명시적 인터페이스 멤버 구현이며, Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 인스턴스가 IComparable 인터페이스로 캐스팅된 경우에만 사용할 수 있습니다.

이 메서드는 클래스에 IComparable.CompareTo 대한 구현을 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 제공합니다. 메서드를 직접 호출할 수 있지만 컬렉션의 멤버를 정렬하기 위해 컬렉션 정렬 메서드(예: Array.Sort(Array)SortedList.Add)의 기본 오버로드에서 가장 일반적으로 호출됩니다.

주의

IComparable.CompareTo 메서드는 정렬 작업에 사용하기 위한 것입니다. 비교의 주된 목적이 두 개체가 같은지 여부를 확인하는 경우에는 사용하지 않아야 합니다. 두 개체가 같은지 여부를 확인하려면 메서드를 호출합니다 Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) .

이 메서드는 기본 개체 비교자를 사용하여 각 구성 요소를 비교합니다.

적용 대상