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

C# Int16.CompareTo() 메서드 완벽 가이드: 구문, 반환값, 예제 총정리

C#에서 Int16.CompareTo() 메서드는 현재 인스턴스를 지정된 개체(Object) 또는 다른 Int16(짧은 정수, short) 인스턴스와 비교한 뒤, 그 결과를 나타내는 정수를 반환합니다. 반환된 정수는 현재 인스턴스의 값이 비교 대상보다 작은지, 같은지, 큰지를 알려줍니다.

이 메서드는 .NET의 IComparableIComparable<short> 인터페이스를 구현하는 것으로, 정렬이나 값 비교 로직을 만들 때 자주 활용됩니다.

구문(Syntax)

Int16.CompareTo() 메서드는 다음 두 가지 오버로드 형태로 제공됩니다.

public int CompareTo (short val);
public int CompareTo (object val);
  • 첫 번째 구문: 매개변수 val은 비교할 short 형식의 정수입니다.
  • 두 번째 구문: 매개변수 val은 비교할 개체(Object)입니다.

반환값(Return Value)

비교 결과에 따라 반환되는 값은 다음과 같습니다.

  • 0 미만(음수): 현재 인스턴스가 비교 대상 값보다 작은 경우
  • 0: 현재 인스턴스가 비교 대상 값과 같은 경우
  • 0 초과(양수): 현재 인스턴스가 비교 대상 값보다 큰 경우

참고로, 두 번째 오버로드에서 null과 비교하면 현재 인스턴스가 더 크다고 간주되어 양수가 반환되며, Int16이 아닌 개체를 전달하면 ArgumentException 예외가 발생할 수 있습니다.

예제 1: 두 값이 다른 경우

아래 예제는 서로 다른 두 개의 short 값을 비교하는 코드입니다.

using System;
public class Demo {
    public static void Main(){
        short val1 = 20;
        short 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) = 2

val1(20)val2(18)보다 크기 때문에 양수인 2가 반환되었습니다.

예제 2: 두 값이 같은 경우

이번에는 값이 동일한 경우의 비교 결과를 살펴보겠습니다.

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

실행 결과

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

두 값이 같으므로 반환값이 0으로 나옵니다.

마무리

Int16.CompareTo() 메서드는 단순히 두 숫자의 크기를 비교하는 것 이상으로, 반환값의 부호(+, 0, −)를 통해 비교 결과를 명확하게 판단할 수 있게 해줍니다. 배열 정렬, 조건 분기, 사용자 정의 비교 로직 등을 구현할 때 유용하게 활용해 보세요.