C#에서 UInt64.MaxValue 필드는 64비트 부호 없는 정수(ulong)가 가질 수 있는 최댓값을 나타냅니다. 이 값은 18,446,744,073,709,551,615로, ulong 형식이 표현할 수 있는 범위의 상한선을 의미합니다.
UInt64.MaxValue는 주로 변수가 저장 가능한 최대 범위를 확인하거나, 값 변환 시 유효성을 검사하는 용도로 활용됩니다.
문법(Syntax)
UInt64.MaxValue 필드의 기본 문법은 다음과 같습니다.
public const ulong MaxValue = 18446744073709551615;
예제 1: UInt64.MaxValue 기본 사용법
다음 예제는 두 개의 ulong 값을 비교하고, 해시 코드와 TypeCode를 출력한 뒤 UInt64.MaxValue 값을 확인하는 코드입니다.
using System;
public class Demo {
public static void Main(){
ulong val1 = 879879879;
ulong val2 = 464556565;
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 = " + UInt64.MaxValue);
}
}실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value1 = 879879879 Value2 = 464556565 HashCode for value1 = 879879879 HashCode for value2 = 464556565 Are they equal? = False TypeCode for val1 = UInt64 TypeCode for val2 = UInt64 Maximum Value = 18446744073709551615
예제 2: 값 변환 시 범위 검증에 활용
다음 예제는 배열에 담긴 여러 값이 UInt64의 유효 범위(MinValue ~ MaxValue) 내에 있는지 검사한 후, 조건을 만족하는 경우 Convert.ToUInt64() 메서드로 변환하여 출력합니다.
using System;
public class Demo {
public static void Main(){
ulong[] val = {8998, 899898778, 878787878};
ulong res;
foreach(ulong a in val){
if(a >= UInt64.MinValue && a <= UInt64.MaxValue){
res = Convert.ToUInt64(a);
Console.WriteLine("Converted: " + res);
} else {
Console.WriteLine("Not Possible");
}
}
}
}실행 결과
모든 값이 유효 범위 내에 있으므로 정상적으로 변환되어 출력됩니다.
Converted: 8998 Converted: 899898778 Converted: 878787878
정리
UInt64.MaxValue는 ulong 형식의 최댓값인 18,446,744,073,709,551,615를 상수로 제공하는 필드입니다. 대용량 수치 데이터를 다루거나 형식 변환 전 범위 유효성을 검사할 때 유용하게 사용할 수 있습니다. 반대로 최솟값이 필요한 경우에는 UInt64.MinValue(0)를 활용하면 됩니다.