uint (C# 參考)

uint 關鍵字表示一種儲存數值的整數型別,其所儲存之數值的大小與範圍如下表所示。

型別

範圍

大小

.NET Framework 型別

uint

0 至 4,294,967,295

不帶正負號的 32 位元整數

System.UInt32

注意:uint 型別不符合 CLS 標準。 請盡可能使用 int。

常值

您可以像這個範例一樣宣告和初始化型別 uint 的變數:

uint myUint = 4294967290;

當整數常值沒有後置字元時,它的型別會是下列可表示其值的第一個型別:int、uint、longulong。 在此範例裡,它是 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 至 longulongfloatdoubledecimal 的隱含轉換。 例如:

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

系統已預先定義從 byteushortchar 到 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# 參考