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

C# Int32.MinValue 필드 완벽 가이드: 개념부터 예제까지

C#에서 Int32.MinValue 필드는 32비트 부호 있는 정수(Int32)가 가질 수 있는 최솟값을 나타내는 데 사용됩니다. 이 값은 -2,147,483,648이며, 프로그램에서 정수 범위를 검사하거나 오버플로우를 방지하는 로직을 작성할 때 유용하게 활용됩니다.

문법(Syntax)

Int32.MinValue 필드의 기본 문법은 다음과 같습니다.

public const int MinValue = -2147483648;

MinValue는 const 상수로 선언되어 있기 때문에 런타임 중에 변경할 수 없으며, 클래스 이름을 통해 직접 접근합니다.

예제 1: 기본 값 확인하기

다음 예제는 Int32.MinValue와 Int32.MaxValue를 함께 출력하여 정수형의 값 범위를 확인하는 방법을 보여줍니다.

using System;
public class Demo {
   public static void Main(){
      int val1 = 23;
      int 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);
      Console.WriteLine("Maximum Value = "+ Int32.MaxValue);
      Console.WriteLine("Minimum Value = "+ Int32.MinValue);
   }
}

출력 결과

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

Value1 = 23
Value2 = 0
HashCode for value1 = 23
HashCode for value2 = 0
Are they equal? = False
TypeCode for val1 = Int32
TypeCode for val2 = Int32
Maximum Value = 2147483647
Minimum Value = -2147483648

출력 결과를 통해 Int32 타입의 최댓값은 2,147,483,647, 최솟값은 -2,147,483,648임을 확인할 수 있습니다.

예제 2: long 값을 int로 변환하기 전 범위 검사

Int32.MinValue는 long 같은 더 큰 데이터 타입의 값을 int로 변환하기 전에 해당 값이 유효한 범위 내에 있는지 검사할 때 특히 유용합니다.

using System;
public class Demo {
   public static void Main(){
      long[] val = {8998, -899898778, 878787878, -20};
      int res;
      foreach(long a in val){
         if(a >= Int32.MinValue && a <= Int32.MaxValue){
            res = Convert.ToInt32(a);
            Console.WriteLine("Converted: "+res);
         }
         else{
            Console.WriteLine("Not Possible");
         }
      }
   }
}

출력 결과

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

Converted: 8998
Converted: -899898778
Converted: 878787878
Converted: -20

이 예제에서는 각 long 값이 Int32.MinValue 이상이고 Int32.MaxValue 이하인지 확인한 후, 범위 내에 있으면 Convert.ToInt32() 메서드로 안전하게 변환합니다. 만약 값이 범위를 벗어난다면 "Not Possible"이 출력되어 오버플로우 예외를 사전에 방지할 수 있습니다.

정리

Int32.MinValue 필드는 C#에서 32비트 정수의 하한값인 -2,147,483,648을 제공하는 읽기 전용 상수입니다. 형 변환 전 범위 검사, 입력값 유효성 검증 등 다양한 상황에서 안정적인 코드를 작성하는 데 활용할 수 있습니다.