Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Int32.CompareTo 메서드 완벽 정리: 문법과 실전 예제

C#의 Int32.CompareTo 메서드는 현재 인스턴스를 지정된 개체 또는 Int32 값과 비교하고, 두 값의 상대적인 크기를 나타내는 정수를 반환합니다. 주로 숫자 값의 대소 관계를 판단할 때 유용하게 활용됩니다.

문법(Syntax)

Int32.CompareTo 메서드의 기본 문법은 다음과 같습니다.

public int CompareTo (int val);
public int CompareTo (object val);

첫 번째 문법은 비교할 정수(int) 값을 매개변수로 받고, 두 번째 문법은 비교할 개체(object)를 매개변수로 받습니다.

반환값(Return Value)

CompareTo 메서드의 반환값은 다음과 같이 해석할 수 있습니다.

  • 0보다 작은 값: 현재 인스턴스가 매개변수 값보다 작은 경우
  • 0(영): 현재 인스턴스가 매개변수 값과 같은 경우
  • 0보다 큰 값: 현재 인스턴스가 매개변수 값보다 큰 경우

예제 1: 서로 다른 값 비교하기

다음 예제는 Int32.CompareTo 메서드를 사용하여 두 개의 서로 다른 정수 값을 비교하는 방법을 보여줍니다.

using System;
public class Demo {
    public static void Main(){
        int val1 = 20;
        int val2 = 18;
        Console.WriteLine("Value 1 = "+val1);
        Console.WriteLine("Value 2 = "+val2);
        Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value 1 = 20
Value 2 = 18
Return value (comparison) = 1

val1(20)이 val2(18)보다 크기 때문에 반환값으로 양수인 1이 출력됩니다.

예제 2: 같은 값 비교하기

이번에는 두 값이 동일한 경우 CompareTo 메서드가 어떤 결과를 반환하는지 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        int val1 = 50;
        int val2 = 50;
        Console.WriteLine("Value 1 = "+val1);
        Console.WriteLine("Value 2 = "+val2);
        Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value 1 = 50
Value 2 = 50
Return value (comparison) = 0

두 값이 모두 50으로 동일하기 때문에 반환값으로 0이 출력됩니다.

마무리

Int32.CompareTo 메서드는 두 정수 값의 크기를 간단히 비교할 수 있는 편리한 메서드입니다. 반환값의 부호만 확인하면 대소 관계를 바로 알 수 있어, 정렬 로직이나 조건 분기 처리 등 다양한 상황에서 활용도가 높습니다.