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

C# Int64.CompareTo() 메서드 완벽 가이드 – 예제 코드로 쉽게 배우기

C#의 Int64.CompareTo() 메서드는 현재 인스턴스를 지정된 객체(Object) 또는 Int64(long) 값과 비교한 후, 두 값의 상대적인 크기를 나타내는 정수를 반환합니다.

구문 (Syntax)

Int64.CompareTo() 메서드의 기본 구문은 다음과 같습니다.

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

첫 번째 구문에서 val은 현재 인스턴스와 비교할 정수(long) 값이며, 두 번째 구문에서 val은 비교 대상이 되는 객체를 의미합니다.

반환값 이해하기

CompareTo() 메서드는 다음과 같은 결과값을 반환합니다.

  • 0보다 작은 값: 현재 인스턴스가 비교 대상보다 작은 경우
  • 0: 두 값이 동일한 경우
  • 0보다 큰 값: 현재 인스턴스가 비교 대상보다 큰 경우

예제 1: long 값끼리 비교하기

다음은 Int64.CompareTo() 메서드를 사용해 두 개의 long 값을 비교하는 첫 번째 예제입니다.

using System;
public class Demo {
   public static void Main(){
      long val1 = 20;
      long 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: 객체(Object)와 비교하기

이번에는 CompareTo() 메서드에 object 타입의 값을 전달하여 비교하는 예제를 살펴보겠습니다.

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

실행 결과

위 코드를 실행하면 아래와 같은 출력 결과가 나타납니다.

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

두 값이 모두 20으로 동일하기 때문에 비교 결과로 0이 반환됩니다. 이처럼 Int64.CompareTo() 메서드는 값의 크기 비교뿐만 아니라 동등성 판단에도 활용할 수 있습니다.