uint (C# 參考)
uint 關鍵字表示一種儲存數值的整數型別,其所儲存之數值的大小與範圍如下表所示。
型別 |
Range |
Size |
.NET Framework 型別 |
---|---|---|---|
uint |
0 至 4,294,967,295 |
不帶正負號的 32 位元整數 |
注意: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;
如需混合浮點型別和整數型別之算術運算式的詳細資訊,請參閱 float 和 double。
如需隱含數字轉換規則的詳細資訊,請參閱隱含數值轉換表 (C# 參考)。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。語言規格是 C# 語法及用法的限定來源。