Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# UInt64.MaxValue 필드 완벽 정리: 문법과 실전 예제

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)를 활용하면 됩니다.