C#의 Boolean.GetTypeCode() 메서드는 Boolean 값 형식에 대한 타입 코드(TypeCode)를 반환하는 데 사용됩니다. 이 메서드는 IConvertible 인터페이스를 구현하며, 해당 값이 어떤 형식에 속하는지 런타임에서 확인해야 할 때 유용하게 활용할 수 있습니다.
문법(Syntax)
Boolean.GetTypeCode() 메서드의 기본 문법은 다음과 같습니다.
public TypeCode GetTypeCode ();
이 메서드는 매개변수를 받지 않으며, TypeCode 열거형 값을 반환합니다. Boolean 값 형식의 경우 항상 TypeCode.Boolean을 반환합니다.
예제 1: 문자열 및 Boolean 값과 함께 사용하기
다음 예제를 통해 GetTypeCode() 메서드가 실제로 어떻게 동작하는지 확인해 보겠습니다.
using System;
public class Demo {
public static void Main(String[] args){
string str = "JackSparrow!";
bool val = true;
char[] arr = { 'J', 'a'};
Console.WriteLine("String = "+str);
Console.WriteLine("String (after trim) = " + str.Trim(arr));
Console.WriteLine("String (Hashcode) = "+str.GetHashCode());
Console.WriteLine("Bool (Hashcode) = "+val.GetHashCode());
Console.WriteLine("Bool (TypeCode) = "+val.GetTypeCode());
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
String = JackSparrow! String (after trim) = ckSparrow! String (Hashcode) = -203134198 Bool (Hashcode) = 1 Bool (TypeCode) = Boolean
출력 결과에서 볼 수 있듯이, true 값의 해시코드는 1이며, 타입 코드는 Boolean으로 반환되었습니다.
예제 2: true와 false 값 비교하기
이번에는 true와 false 두 가지 Boolean 값에 대해 각각 해시코드와 타입 코드를 확인해 보겠습니다.
using System;
public class Demo {
public static void Main(String[] args){
bool val1 = true;
bool val2 = false;
Console.WriteLine("Value1 (Hashcode) = "+val1.GetHashCode());
Console.WriteLine("Value1 (TypeCode) = "+val1.GetTypeCode());
Console.WriteLine("Value2 (Hashcode) = "+val2.GetHashCode());
Console.WriteLine("Value2 (TypeCode) = "+val2.GetTypeCode());
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value1 (Hashcode) = 1 Value1 (TypeCode) = Boolean Value2 (Hashcode) = 0 Value2 (TypeCode) = Boolean
정리
Boolean.GetTypeCode() 메서드의 핵심 특징은 다음과 같습니다.
- Boolean 값 형식에 대해 항상
TypeCode.Boolean을 반환합니다. true의 해시코드는 1,false의 해시코드는 0입니다.- 매개변수를 받지 않으며, 반환 타입은
TypeCode열거형입니다.
타입 코드는 리플렉션(Reflection)이나 직렬화 작업 시 객체의 형식을 동적으로 판별해야 하는 상황에서 특히 유용합니다. Boolean뿐만 아니라 Int32, String 등 다른 기본 형식들도 동일한 방식으로 GetTypeCode() 메서드를 제공하므로, 일관된 방식으로 형식 정보를 얻을 수 있다는 점도 기억해 두면 좋습니다.