Int32.CompareTo 메서드

정의

이 인스턴스를 지정된 개체나 Int32와 비교하여 상대 값의 표시를 반환합니다.Compares this instance to a specified object or Int32 and returns an indication of their relative values.

오버로드

CompareTo(Int32)

이 인스턴스를 지정된 32비트 부호 있는 정수와 비교하여 상대 값의 표시를 반환합니다.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

이 인스턴스를 지정된 32비트 부호 있는 정수와 비교하여 상대 값의 표시를 반환합니다.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

public:
 virtual int CompareTo(int value);
public int CompareTo (int value);
abstract member CompareTo : int -> int
override this.CompareTo : int -> int
Public Function CompareTo (value As Integer) As Integer

매개 변수

value
Int32

비교할 정수입니다.An integer to compare.

반환

Int32

이 인스턴스와 value의 상대 값을 나타내는 부호 있는 숫자입니다.A signed number indicating the relative values of this instance and value.

반환 값Return Value 설명Description
0보다 작습니다.Less than zero 이 인스턴스는 value보다 작습니다.This instance is less than value.
0Zero 이 인스턴스가 value과 같은 경우This instance is equal to value.
0보다 큽니다.Greater than zero 이 인스턴스는 value보다 큽니다.This instance is greater than value.

구현

예제

다음 예제는 Int32.CompareTo(Int32) 메서드.The following example demonstrates the Int32.CompareTo(Int32) method. 메서드는 네 가지 서로 다른 비교를 위해 메서드에서 반환 하는 값을 표시 하는 것 외에도 값이 표시 되는 사용자 지정 Comparison 열거형의 멤버로 반환 값을 변환 합니다.In addition to displaying the value returned by the method for four different comparisons, it converts the return value to a member of the custom Comparison enumeration, whose value it also displays.

using System;

enum Comparison {
   LessThan=-1, Equal=0, GreaterThan=1};

public class ValueComparison
{
   public static void Main()
   {
      int mainValue = 16325;
      int zeroValue = 0;
      int negativeValue = -1934;
      int positiveValue = 903624;
      int sameValue = 16325;

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, zeroValue,
                        mainValue.CompareTo(zeroValue),
                        (Comparison) mainValue.CompareTo(zeroValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, sameValue,
                        mainValue.CompareTo(sameValue),
                        (Comparison) mainValue.CompareTo(sameValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, negativeValue,
                        mainValue.CompareTo(negativeValue),
                        (Comparison) mainValue.CompareTo(negativeValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, positiveValue,
                        mainValue.CompareTo(positiveValue),
                        (Comparison) mainValue.CompareTo(positiveValue));
   }
}
// The example displays the following output:
//       Comparing 16325 and 0: 1 (GreaterThan).
//       Comparing 16325 and 16325: 0 (Equal).
//       Comparing 16325 and -1934: 1 (GreaterThan).
//       Comparing 16325 and 903624: -1 (LessThan).
Public Enum Comparison As Integer
   LessThan = -1
   Equal = 0
   GreaterThan = 1
End Enum

Module ValueComparison
   Public Sub Main()
      Dim mainValue As Integer = 16325
      Dim zeroValue As Integer = 0
      Dim negativeValue As Integer = -1934
      Dim positiveValue As Integer = 903624
      Dim sameValue As Integer = 16325
      
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, zeroValue, _
                        mainValue.CompareTo(zeroValue), _
                        CType(mainValue.CompareTo(zeroValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, sameValue, _
                        mainValue.CompareTo(sameValue), _
                        CType(mainValue.CompareTo(sameValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, negativeValue, _
                        mainValue.CompareTo(negativeValue), _
                        CType(mainValue.CompareTo(negativeValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, positiveValue, _
                        mainValue.CompareTo(positiveValue), _
                        CType(mainValue.CompareTo(positiveValue), Comparison))
   End Sub
End Module
' The example displays the following output:
'       Comparing 16325 and 0: 1 (GreaterThan).
'       Comparing 16325 and 16325: 0 (Equal).
'       Comparing 16325 and -1934: 1 (GreaterThan).
'       Comparing 16325 and 903624: -1 (LessThan).

설명

이 메서드는 System.IComparable<T> 인터페이스를 구현 하 고 value 매개 변수를 개체로 변환할 필요가 없기 때문에 Int32.CompareTo 메서드보다 약간 더 잘 수행 합니다.This method implements the System.IComparable<T> interface and performs slightly better than the Int32.CompareTo method because it does not have to convert the value parameter to an object.

프로그래밍 언어에 따라 매개 변수 형식의 비트 수 (보다 작음)가 인스턴스 형식 보다 작은 CompareTo 메서드를 코딩할 수 있습니다.Depending on your programming language, it might be possible to code a CompareTo method where the parameter type has fewer bits (is narrower) than the instance type. 일부 프로그래밍 언어 매개 변수를 나타내는 형식으로 비트 수 인스턴스로 암시적 확대 변환을 수행 하기 때문에 이것이 가능 합니다.This is possible because some programming languages perform an implicit widening conversion that represents the parameter as a type with as many bits as the instance.

예를 들어 인스턴스 유형이 Int32이 고 매개 변수 유형이 Byte이라고 가정 합니다.For example, suppose the instance type is Int32 and the parameter type is Byte. Microsoft C# 컴파일러는 매개 변수의 값을 Int32표시 하는 명령을 생성 한 다음 Int32 인스턴스와 Int32 매개 변수 표현의 값을 비교 하는 Int32.CompareTo 메서드를 생성 합니다.The Microsoft C# compiler generates instructions to represent the value of the parameter as an Int32, then generates a Int32.CompareTo method that compares the values of the Int32 instance and the Int32 parameter representation.

해당 컴파일러에서 숫자 형식에 암시적 확대 변환은 수행 여부를 확인 하려면 프로그래밍 언어의 설명서를 참조 하세요.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

추가 정보

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.Compares this instance to a specified object and returns an indication of their relative values.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer

매개 변수

value
Object

비교할 개체 또는 null입니다.An object to compare, or null.

반환

Int32

이 인스턴스와 value의 상대 값을 나타내는 부호 있는 숫자입니다.A signed number indicating the relative values of this instance and value.

반환 값Return Value 설명Description
0보다 작습니다.Less than zero 이 인스턴스는 value보다 작습니다.This instance is less than value.
0Zero 이 인스턴스가 value과 같은 경우This instance is equal to value.
0보다 큽니다.Greater than zero 이 인스턴스는 value보다 큽니다.This instance is greater than value. -또는--or- valuenull입니다.value is null.

구현

예외

valueInt32이 아닌 경우value is not an Int32.

설명

값에 관계 없이 Int32인스턴스는 null보다 큰 것으로 간주 됩니다.Any instance of Int32, regardless of its value, is considered greater than null.

value null 또는 Int32인스턴스여야 합니다. 그렇지 않으면 예외가 throw 됩니다.value must be null or an instance of Int32; otherwise, an exception is thrown.

추가 정보

적용 대상