ulong (C# 參考)
ulong 關鍵字表示一種儲存數值的整數型別,其儲存數值的大小與範圍如下表所示。
型別 |
Range |
Size |
.NET Framework 型別 |
---|---|---|---|
ulong |
0 至 18,446,744,073,709,551,615 |
不帶正負號的 64 位元整數 |
常值
您可以採用以下範例中同時宣告和初始化 ulong 型別變數的做法:
ulong uLong = 9223372036854775808;
當整數常值沒有後置字元時,它的型別會是下列中可表示其值的第一個型別:int、uint、long 和 ulong。 在上述範例裡,它是 ulong 型別。
您也可以使用後置字元,根據下列規則來指定常值的型別:
如果您使用 L 或 l,根據其大小,常值整數的型別會是 long 或 ulong。
注意事項 您也可以使用小寫字母 "l" 做為後置字元。然而,這會產生編譯器警告,因為字母 "l" 很容易與數字 "1" 混淆。 請使用 "L" 以避免困擾。
如果您使用 U 或 u,根據其大小,常值整數的型別會是 uint 或 ulong。
如果您使用 UL、ul、Ul、uL、LU、lu、Lu 或 lU,常值整數的型別會是 ulong。
例如,下列三個陳述式的輸出會是系統型別 UInt64,其對應於別名 ulong:
Console.WriteLine(9223372036854775808L.GetType()); Console.WriteLine(123UL.GetType()); Console.WriteLine((123UL + 456).GetType());
後置字元的常見用於呼叫多載方法。 以下列使用 ulong 和 int 參數的多載方法為例:
public static void SampleMethod(int i) {}
public static void SampleMethod(ulong l) {}
將後置字元與 ulong 參數一起使用可以保證呼叫正確的型別,例如:
SampleMethod(5); // Calling the method with the int parameter
SampleMethod(5UL); // Calling the method with the ulong parameter
轉換
系統已預先定義好從 ulong 到 float、double 或 decimal 的隱含轉換。
從 ulong 到任何整數類資料型別沒有隱含轉換。 例如,下列陳述式必須使用明確轉換,否則會產生編譯錯誤:
long long1 = 8UL; // Error: no implicit conversion from ulong
也預先定義好從 byte、ushort、uint 或 char 至 ulong 的隱含轉換。
此外也沒有從浮點型別到 ulong 的隱含轉換。 例如,下列陳述式必須使用明確轉換,否則會產生編譯器錯誤:
// Error -- no implicit conversion from double:
ulong x = 3.0;
// OK -- explicit conversion:
ulong y = (ulong)3.0;
如需混合浮點型別和整數型別之算術運算式的詳細資訊,請參閱 float 和 double。
如需隱含數字轉換規則的詳細資訊,請參閱隱含數值轉換表 (C# 參考)。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。語言規格是 C# 語法及用法的限定來源。