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을 제공하는 읽기 전용 상수입니다. 형 변환 전 범위 검사, 입력값 유효성 검증 등 다양한 상황에서 안정적인 코드를 작성하는 데 활용할 수 있습니다.