C# UInt64.MaxValue 필드란?
C#에서 UInt64.MaxValue 필드는 64비트 부호 없는 정수(ulong)가 가질 수 있는 최댓값을 나타냅니다. 이 값은 18446744073709551615이며, ulong 형식으로 표현할 수 있는 가장 큰 숫자입니다. 값의 유효성 검사나 범위 확인 로직을 작성할 때 매우 유용하게 활용됩니다.
구문(Syntax)
UInt64.MaxValue 필드의 구문은 다음과 같습니다:
public const ulong MaxValue = 18446744073709551615;
예제 1: UInt64.MaxValue 기본 사용법
다음 예제는 두 개의 ulong 값에 대한 해시 코드, 동등성 비교, TypeCode 그리고 최댓값을 함께 출력하는 방법을 보여줍니다:
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와 UInt64.MaxValue를 활용해 배열의 각 요소가 유효한 ulong 범위 내에 있는지 확인한 뒤, 조건을 만족하는 경우 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 데이터 형식이 표현할 수 있는 최대 경계값을 상수 형태로 제공합니다. const 필드로 선언되어 있어 런타임 성능에 영향을 주지 않으며, 입력값 검증, 오버플로우 방지, 형식 변환 전 범위 확인 등 다양한 상황에서 안전하고 효율적으로 사용할 수 있습니다.