C#에서 Int32.GetTypeCode() 메서드는 Int32 값 형식(value type)에 해당하는 TypeCode를 반환하는 데 사용됩니다. 이 메서드를 활용하면 변수가 어떤 형식인지 런타임 시점에 확인할 수 있어, 타입 검증이나 조건 분기 처리에 유용하게 활용됩니다.
구문(Syntax)
Int32.GetTypeCode() 메서드의 기본 구문은 다음과 같습니다.
public TypeCode GetTypeCode ();
이 메서드는 매개변수를 받지 않으며, 호출된 Int32 인스턴스의 형식 정보를 나타내는 TypeCode 열거형 값을 반환합니다. Int32의 경우 항상 TypeCode.Int32가 반환됩니다.
예제 1
첫 번째 예제를 통해 Int32.GetTypeCode() 메서드의 실제 동작을 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
int val1 = 100;
int val2 = 50;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
Console.WriteLine("HashCode for Value1 = "+val1.GetHashCode());
Console.WriteLine("HashCode for Value2 = "+val2.GetHashCode());
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for Value1 = "+type1);
Console.WriteLine("TypeCode for Value2 = "+type2);
}
}실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
Value1 = 100 Value2 = 50 Are they equal? = False HashCode for Value1 = 100 HashCode for Value2 = 50 TypeCode for Value1 = Int32 TypeCode for Value2 = Int32
출력 결과에서 확인할 수 있듯이, 서로 다른 값을 가진 두 int 변수 모두 GetTypeCode() 메서드를 통해 Int32라는 동일한 TypeCode를 반환합니다. 이는 두 변수가 같은 데이터 형식임을 의미합니다.
예제 2
이번에는 최댓값(Int32.MaxValue)을 활용한 또 다른 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
int val1 = 5;
int val2 = Int32.MaxValue;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for Value1 = "+type1);
Console.WriteLine("TypeCode for Value2 = "+type2);
}
}실행 결과
위 코드의 실행 결과는 다음과 같습니다.
Value1 = 5 Value2 = 2147483647 TypeCode for Value1 = Int32 TypeCode for Value2 = Int32
값이 작은 숫자(5)든 Int32가 표현할 수 있는 최댓값(2147483647)이든, GetTypeCode() 메서드는 항상 TypeCode.Int32를 반환합니다. 이처럼 GetTypeCode()는 저장된 값의 크기와 무관하게 변수의 형식 자체를 식별하는 데 사용된다는 점이 핵심입니다.