C#의 UInt32.MaxValue 필드는 32비트 부호 없는 정수(unsigned integer)가 표현할 수 있는 최댓값을 나타냅니다. 이 값은 4,294,967,295이며, uint 형식이 저장할 수 있는 상한선을 의미합니다.
구문(Syntax)
UInt32.MaxValue 필드의 구문은 다음과 같습니다.
public const uint MaxValue = 4294967295;
예제 1: 기본 사용법
다음 예제는 UInt32.MaxValue 필드를 실제로 사용하는 방법을 보여줍니다. uint 변수의 해시 코드, 타입 코드(TypeCode)와 함께 최댓값도 함께 출력해 봅니다.
using System;
public class Demo {
public static void Main(){
uint val1 = 23;
uint 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 = "+ UInt32.MaxValue);
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value1 = 23 Value2 = 0 HashCode for value1 = 23 HashCode for value2 = 0 Are they equal? = False TypeCode for val1 = UInt32 TypeCode for val2 = UInt32 Maximum Value = 4294967295
예제 2: 값 변환 시 범위 검사
다음 예제에서는 ulong 배열의 값들을 uint로 변환하기 전에, UInt32.MinValue와 UInt32.MaxValue를 사용하여 해당 값이 uint 범위 내에 있는지 검사하는 방법을 살펴봅니다. 범위 내에 있으면 Convert.ToUInt32()로 안전하게 변환하고, 그렇지 않으면 변환이 불가능하다는 메시지를 출력합니다.
using System;
public class Demo {
public static void Main(){
ulong[]val = {568787, 8343443, 243434343};
uint res;
foreach(ulong a in val){
if(a >= UInt32.MinValue && a <= UInt32.MaxValue){
res = Convert.ToUInt32(a);
Console.WriteLine("Converted: "+res);
} else {
Console.WriteLine("Not Possible");
}
}
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Converted: 568787 Converted: 8343443 Converted: 243434343
핵심 정리
UInt32.MaxValue는 uint 형식이 가질 수 있는 최댓값인 4,294,967,295를 나타내는 상수 필드입니다. 큰 정수형 데이터를 uint로 변환하기 전에 범위를 검사하거나, 경계 조건을 처리할 때 매우 유용하게 활용됩니다.