ushort(C# 참조)

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

형식

범위

크기

.NET Framework 형식

ushort

0 ~ 65,535

부호 없는 16비트 정수

System.UInt16

리터럴

다음 예제와 같이 ushort 변수를 선언하고 초기화할 수 있습니다.

ushort myShort = 65535;

앞의 선언에서 정수 리터럴 65535는 암시적으로 int에서 ushort로 변환됩니다.정수 리터럴이 ushort 범위를 초과하면 컴파일 오류가 발생합니다.

오버로드된 메서드를 호출할 경우 캐스트를 사용해야 합니다.예를 들어 다음과 같이 ushort 및 int 매개 변수를 사용하는 오버로드된 메서드가 있습니다.

public static void SampleMethod(int i) {}
public static void SampleMethod(ushort s) {}

이 경우, ushort 캐스트를 사용하면 올바른 형식이 호출됩니다. 예를 들면 다음과 같습니다.

// Calls the method with the int parameter:
SampleMethod(5);
// Calls the method with the ushort parameter:
SampleMethod((ushort)5);  

변환

ushort에서 int, uint, long, ulong, float, double 또는 decimal로의 미리 정의된 암시적 변환이 있습니다.

또한 bytechar에서 ushort로의 미리 정의된 암시적 변환이 있습니다.그 외의 다른 경우에는 캐스트를 사용하여 명시적 변환을 수행해야 합니다.예를 들어, 다음과 같은 두 개의 ushort 변수 x 및 y가 있습니다.

ushort x = 5, y = 12;

다음 할당문의 경우 할당 연산자의 오른쪽에 있는 산술식이 기본적으로 int로 계산되므로 컴파일 오류가 발생합니다.

ushort z = x + y;   // Error: conversion from int to ushort

이 문제를 해결하려면 캐스트를 사용하십시오.

ushort z = (ushort)(x + y);   // OK: explicit conversion 

대상 변수의 저장소 크기가 같거나 더 클 경우에는 다음과 같은 문을 사용할 수 있습니다.

int m = x + y;
long n = x + y;

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

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

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

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

C# 언어 사양

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

참고 항목

참조

C# 키워드

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

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

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

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

UInt16

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조