CompareTo는 값의 순서를 지정하거나 값을 정렬할 수 있는 형식에서 구현합니다. 제네릭이 아닌 컬렉션 개체의 Array..::.Sort와 같은 메서드는 이 메서드를 자동으로 호출하여 배열의 각 멤버 순서를 지정합니다. 사용자 지정 클래스나 구조체에서 IComparable을 구현하지 않으면 해당 멤버의 순서를 지정할 수 없으며 정렬 작업에서 InvalidOperationException이 throw될 수 있습니다.
이 메서드는 정의일 뿐이며 특정 클래스 또는 값 형식에 의해 구현되어야만 효과가 있습니다. "작음", "같음" 및 "큼"과 같은 비교의 의미는 특정 구현에 따라 달라집니다.
정의에 따르면 모든 개체는 nullNothingnullptrNull 참조(Visual Basic의 경우 Nothing)보다 큰 것으로 간주되고 두 개의 null 참조는 서로 같은 것으로 간주됩니다.
매개 변수 obj는 이 인터페이스를 구현하는 클래스 또는 값 형식과 같은 형식이어야 합니다. 그렇지 않으면 ArgumentException이 throw됩니다.
구현자 참고 사항:
개체 A, B 및 C에 대해 다음 조건이 충족되어야 합니다.
A.CompareTo(A)는 0을 반환해야 합니다.
A.CompareTo(B)가 0을 반환하면 B.CompareTo(A)는 0을 반환해야 합니다.
A.CompareTo(B)가 0을 반환하고 B.CompareTo(C)가 0을 반환하면 A.CompareTo(C)는 0을 반환해야 합니다.
A.CompareTo(B)가 0이 아닌 값을 반환하면 B.CompareTo(A)는 반대 부호의 값을 반환해야 합니다.
A.CompareTo(B)가 0이 아닌 값 x를 반환하고 B.CompareTo(C)가 x와 같은 부호의 값 y를 반환하면 A.CompareTo(C)는 x 및 y와 같은 부호의 값을 반환해야 합니다.
호출자 참고 사항:
CompareTo 메서드를 사용하여 클래스의 인스턴스의 순서를 결정합니다.