C#의 UInt64.MinValue 필드는 64비트 부호 없는 정수(ulong)가 가질 수 있는 최솟값을 나타내는 상수입니다. 부호 없는 정수는 음수를 표현할 수 없기 때문에, UInt64.MinValue의 값은 항상 0입니다.
구문
UInt64.MinValue 필드의 기본 구문은 다음과 같습니다.
public const ulong MinValue = 0;
예제 1: UInt64.MinValue 값 확인하기
다음 예제에서는 두 개의 ulong 변수를 선언하고 해시 코드, 동등성 비교, TypeCode 그리고 UInt64.MinValue 값을 출력해 봅니다.
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("Minimum Value = "+ UInt64.MinValue);
}
}실행 결과
위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.
Value1 = 879879879 Value2 = 464556565 HashCode for value1 = 879879879 HashCode for value2 = 464556565 Are they equal? = False TypeCode for val1 = UInt64 TypeCode for val2 = UInt64 Minimum Value = 0
출력 결과에서 볼 수 있듯이, UInt64.MinValue는 예상대로 0을 반환합니다. 또한 GetHashCode() 메서드는 ulong 값 자체를 해시 코드로 반환하며, 두 변수의 값이 다르므로 Equals() 비교 결과는 False가 됩니다.
예제 2: 값의 유효 범위 검사 후 변환하기
다음 예제에서는 ulong 배열의 각 요소가 UInt64.MinValue부터 UInt64.MaxValue 사이의 유효한 범위에 속하는지 검사한 후, 조건을 만족하면 Convert.ToUInt64() 메서드로 변환하여 출력합니다.
using System;
public class Demo {
public static void Main(){
ulong[]val = {65, 6576, 9897987987};
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: 65 Converted: 6576 Converted: 9897987987
정리
UInt64.MinValue는 ulong 타입이 표현할 수 있는 가장 작은 값인 0을 상수 형태로 제공합니다. 이 필드는 값의 유효 범위를 검사하거나 경계 조건을 명확하게 표현할 때 유용하게 활용할 수 있으며, 반대되는 개념으로 최댓값을 나타내는 UInt64.MaxValue(18,446,744,073,709,551,615)도 함께 기억해 두면 좋습니다.