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

C# Int16.GetTypeCode() 메서드 완벽 정리 – 예제 코드와 실행 결과

C#에서 Int16.GetTypeCode() 메서드는 Int16(16비트 부호 있는 정수) 값 형식에 대한 TypeCode를 반환하는 데 사용됩니다. 이 메서드는 런타임에 변수의 형식 정보를 확인해야 할 때 유용하게 활용할 수 있습니다.

문법(Syntax)

Int16.GetTypeCode() 메서드의 기본 문법은 다음과 같습니다.

public TypeCode GetTypeCode ();

이 메서드는 매개변수를 받지 않으며, 호출된 인스턴스의 형식을 나타내는 TypeCode 열거형 값을 반환합니다. Int16 형식의 경우 항상 TypeCode.Int16이 반환됩니다.

예제 1

첫 번째 예제를 통해 Int16.GetTypeCode() 메서드의 사용 방법을 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      short val1 = 0;
      short val2 = Int16.MaxValue;
      Console.WriteLine("Value1 = "+val1);
      Console.WriteLine("Value2 = "+val2);
      Console.WriteLine("HashCode for value1 = "+val1.GetHashCode());
      Console.WriteLine("HashCode for value2 = "+val2.GetHashCode());
      Console.WriteLine("Are they equal? = "+(val1.Equals(val2)));
      TypeCode type1 = val1.GetTypeCode();
      TypeCode type2 = val2.GetTypeCode();
      Console.WriteLine("TypeCode for val1 = "+type1);
      Console.WriteLine("TypeCode for val2 = "+type2);
   }
}

실행 결과

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

Value1 = 0
Value2 = 32767
HashCode for value1 = 0
HashCode for value2 = 2147450879
Are they equal? = False
TypeCode for val1 = Int16
TypeCode for val2 = Int16

위 예제에서 val1은 0으로, val2는 Int16이 가질 수 있는 최댓값인 32767로 초기화되었습니다. 두 변수 모두 GetTypeCode() 메서드 호출 시 동일하게 Int16이라는 TypeCode를 반환하는 것을 확인할 수 있습니다.

예제 2

이번에는 다른 값으로 Int16.GetTypeCode() 메서드를 구현한 또 다른 예제입니다.

using System;
public class Demo {
   public static void Main(){
      short val1 = 23;
      short val2 = 0;
      Console.WriteLine("Value1 = "+val1);
      Console.WriteLine("Value2 = "+val2);
      Console.WriteLine("HashCode for value1 = "+val1.GetHashCode());
      Console.WriteLine("HashCode for value2 = "+val2.GetHashCode());
      Console.WriteLine("Are they equal? = "+(val1.Equals(val2)));
      TypeCode type1 = val1.GetTypeCode();
      TypeCode type2 = val2.GetTypeCode();
      Console.WriteLine("TypeCode for val1 = "+type1);
      Console.WriteLine("TypeCode for val2 = "+type2);
   }
}

실행 결과

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

Value1 = 23
Value2 = 0
HashCode for value1 = 1507351
HashCode for value2 = 0
Are they equal? = False
TypeCode for val1 = Int16
TypeCode for val2 = Int16

정리

Int16.GetTypeCode() 메서드는 저장된 값에 관계없이 항상 해당 변수의 형식인 TypeCode.Int16을 반환합니다. 위 두 예제에서 볼 수 있듯이, 값이 0이든 최댓값이든 임의의 숫자든 상관없이 동일한 TypeCode가 반환됩니다. 이러한 특성 덕분에 GetTypeCode() 메서드는 형식 검사나 조건 분기 로직을 작성할 때 안정적으로 활용할 수 있습니다.