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

C#에서 Int32 값 형식의 TypeCode 확인하는 방법

C#에서 값 형식의 TypeCode를 확인하려면 GetTypeCode() 메서드를 사용하면 됩니다. 이 메서드는 해당 값의 데이터 형식을 나타내는 TypeCode 열거형 값을 반환하며, int(Int32) 형식의 경우 항상 TypeCode.Int32가 반환됩니다.

예제 1

다음은 두 개의 정수 변수에 대해 TypeCode를 출력하는 기본 예제입니다.

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

출력 결과에서 볼 수 있듯이 두 정수 값 모두 Int32라는 동일한 TypeCode를 반환합니다. 또한 Equals() 메서드는 두 값이 다르기 때문에 False를 반환하고, GetHashCode() 메서드는 각 값 자체를 해시 코드로 반환합니다.

예제 2

이번에는 일반적인 정수 값과 Int32의 최대값(Int32.MaxValue)을 사용해 TypeCode를 확인해 보겠습니다.

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

값의 크기와 관계없이 int 형식으로 선언된 모든 변수는 TypeCode.Int32를 반환한다는 점을 확인할 수 있습니다. 즉, GetTypeCode() 메서드는 저장된 값이 아니라 변수의 데이터 형식 자체를 기준으로 TypeCode를 판별합니다.