C#의 ulong 형식은 64비트 부호 없는 정수, 즉 UInt64를 나타냅니다. 이 자료형은 0부터 18,446,744,073,709,551,615까지의 값을 저장할 수 있습니다.
64비트 부호 없는 정수를 decimal 타입으로 암시적으로 변환하는 것은 매우 간단합니다. 데이터 손실 위험이 없기 때문에 C# 컴파일러가 자동으로 변환을 처리해 줍니다.
먼저 ulong 변수에 값을 설정합니다.
ulong val = ulong.MaxValue;
그다음, ulong 값을 decimal 변수에 그대로 할당하기만 하면 됩니다.
decimal dec; dec = val;
이처럼 별도의 캐스팅 연산자 없이 대입 연산자만으로 변환이 완료됩니다. 전체 예제 코드를 살펴보겠습니다.
예제 코드
using System;
public class Demo {
public static void Main() {
ulong val = ulong.MaxValue;
decimal dec;
Console.WriteLine("Implicit conversion from Ulong to Decimal");
dec = val;
Console.WriteLine("Decimal : " + dec);
}
}실행 결과
Implicit conversion from Ulong to Decimal Decimal : 18446744073709551615
위 출력 결과에서 확인할 수 있듯이, ulong의 최댓값인 18,446,744,073,709,551,615가 decimal 타입으로 정확하게 변환된 것을 볼 수 있습니다. 이는 decimal 타입이 ulong보다 넓은 표현 범위를 가지고 있어 모든 ulong 값을 안전하게 담을 수 있기 때문입니다.