ushort (C# 參考)
ushort 關鍵字表示一種儲存數值的整數資料型別,其儲存數值所根據的大小與範圍如下表所示。
型別 |
Range |
Size |
.NET Framework 型別 |
---|---|---|---|
ushort |
0 至 65,535 |
不帶正負號的 16 位元整數 |
常值
您可以用以下範例中的做法來宣告和初始化 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 之預先定義的隱含轉換。
有一項從 byte 或 char 轉換為 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;
如需混合浮點型別和整數型別之算術運算式的詳細資訊,請參閱 float 和 double。
如需隱含數字轉換規則的詳細資訊,請參閱隱含數值轉換表 (C# 參考)。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。語言規格是 C# 語法及用法的限定來源。