uint 關鍵字表示一種整型,該類型根據下表顯示的大小和范圍存儲值。
uint
0 到 4,294,967,295
無符號 32 位整數
System.UInt32
標識符可如下例所示聲明並初始化 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# 參考)。