Int32.CompareTo 메서드

정의

이 인스턴스를 지정된 32비트 부호 있는 정수와 비교하여 상대 값의 표시를 반환합니다.

오버로드

CompareTo(Int32)

이 인스턴스를 지정된 32비트 부호 있는 정수와 비교하여 상대 값의 표시를 반환합니다.

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.

CompareTo(Int32)

이 인스턴스를 지정된 32비트 부호 있는 정수와 비교하여 상대 값의 표시를 반환합니다.

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

비교할 정수입니다.

반환

Int32

이 인스턴스와 value의 상대 값을 나타내는 부호 있는 숫자입니다.

반환 값 설명
0보다 작음 이 인스턴스는 value보다 작습니다.
0 이 인스턴스가 value과 같은 경우
0보다 큼 이 인스턴스는 value보다 큽니다.

구현

예제

다음 예제는 Int32.CompareTo(Int32) 메서드. 네 가지 비교를 위해 메서드에서 반환하는 값을 표시하는 것 외에도 반환 값을 사용자 지정 Comparison 열거형의 멤버로 변환합니다. 이 값도 표시됩니다.

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).
open System

type Comparison =
    | LessThan = -1 
    | Equal = 0
    | GreaterThan = 1

let mainValue = 16325
let zeroValue = 0
let negativeValue = -1934
let positiveValue = 903624
let sameValue = 16325

printfn $"Comparing {mainValue} and {zeroValue}: {mainValue.CompareTo zeroValue} ({enum<Comparison>(mainValue.CompareTo zeroValue)})."

printfn $"Comparing {mainValue} and {sameValue}: {mainValue.CompareTo sameValue} ({enum<Comparison>(mainValue.CompareTo sameValue)})."

printfn $"Comparing {mainValue} and {negativeValue}: {mainValue.CompareTo negativeValue} ({enum<Comparison>(mainValue.CompareTo negativeValue)})." 

printfn $"Comparing {mainValue} and {positiveValue}: {mainValue.CompareTo positiveValue} ({enum<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 약간 더 잘 수행됩니다.

프로그래밍 언어에 따라 매개 변수 형식에 인스턴스 형식보다 적은 비트(좁은 비트)가 있는 메서드를 코딩 CompareTo 할 수 있습니다. 일부 프로그래밍 언어는 인스턴스만큼 비트가 많은 형식으로 매개 변수를 나타내는 암시적 확대 변환을 수행하기 때문에 가능합니다.

예를 들어 인스턴스 형식이 Int32 고 매개 변수 형식이 .입니다 Byte. Microsoft C# 컴파일러는 매개 변수 Int32값을 나타내는 지침을 생성한 다음 인스턴스의 Int32 값과 매개 변수 표현을 비교하는 메서드를 Int32 생성 Int32.CompareTo 합니다.

프로그래밍 언어의 설명서를 참조하여 컴파일러가 숫자 형식에서 암시적 확대 변환을 수행하는지 여부를 확인합니다.

추가 정보

적용 대상

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (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입니다.

반환

Int32

이 인스턴스와 value의 상대 값을 나타내는 부호 있는 숫자입니다.

반환 값 설명
0보다 작음 이 인스턴스는 value보다 작습니다.
0 이 인스턴스가 value과 같은 경우
0보다 큼 이 인스턴스는 value보다 크거나 valuenull입니다.

구현

예외

valueInt32이 아닌 경우

설명

값에 Int32관계없이 모든 인스턴스는 보다 null큰 것으로 간주됩니다.

value이거나 인스턴스Int32여야 null 합니다. 그렇지 않으면 예외가 throw됩니다.

추가 정보

적용 대상