다음을 통해 공유


uint(C# 참조)

uint 키워드는 다음 표에 표시된 크기와 범위에 따라 값을 저장하는 정수 계열 형식을 나타냅니다.

형식

범위

Size

.NET Framework 형식

uint

0 ~ 4,294,967,295

부호 없는 32비트 정수

System.UInt32

참고   uint 형식은 CLS 규격이 아닙니다. 가능하면 int를 사용합니다.

리터럴

다음 예제에서와 같이 uint 형식 변수를 선언하고 초기화할 수 있습니다.

uint myUint = 4294967290;

정수 리터럴에 접미사가 없는 경우 해당 정수 리터럴의 형식은 그 값이 표현될 수 있는 형식인 int, uint, long, ulong 중에서 첫째 형식입니다. 이 예제에서 리터럴 형식은 uint입니다.

uint uInt1 = 123;

또한 다음과 같이 u 또는 U 접미사를 사용할 수 있습니다.

uint uInt2 = 123U;

U 또는 u 접미사를 사용하는 경우 리터럴의 형식은 리터럴의 숫자 값에 따라 uint 또는 ulong으로 결정됩니다. 예를 들면 다음과 같습니다.

Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());

이 코드는 System.UInt32 뒤에 System.UInt64를 표시합니다. 이 두 형식은 각각 uint 및 ulong의 내부 형식입니다. 두 번째 리터럴이 너무 커서 uint 형식으로 저장할 수 없기 때문입니다.

변환

uint에서 long, ulong, float, double 또는 decimal로의 미리 정의된 암시적 변환이 있습니다. 예를 들면 다음과 같습니다.

float myFloat = 4294967290;   // OK: implicit conversion to float

byte, ushort 또는 char에서 uint으로의 미리 정의된 암시적 변환이 있습니다. 그 외의 다른 경우에는 캐스트를 사용해야 합니다. 예를 들어, 캐스트를 사용하지 않으면 다음 대입문에서 컴파일 오류가 발생합니다.

long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong; 
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;

또한 부동 소수점 형식에서 uint로의 암시적 변환은 없습니다. 예를 들어, 다음 문에서 명시적 캐스트를 사용하지 않으면 컴파일러 오류가 발생합니다.

// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0; 

부동 소수점 형식 및 정수 계열 형식이 함께 사용되는 산술식에 대한 자세한 내용은 floatdouble을 참조하십시오.

암시적 숫자 변환 규칙에 대한 자세한 내용은 암시적 숫자 변환 표(C# 참조)를 참조하십시오.

C# 언어 사양

자세한 내용은 C# 언어 사양을 참조하십시오. 이 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목

참조

C# 키워드

정수 계열 형식 표(C# 참조)

기본 제공 형식 표(C# 참조)

암시적 숫자 변환 표(C# 참조)

명시적 숫자 변환 표(C# 참조)

UInt32

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조