ulong (C# 參考)

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

型別

範圍

大小

.NET Framework 型別

ulong

0 至 18,446,744,073,709,551,615

不帶正負號的 64 位元整數

System.UInt64

常值

您可以採用以下範例中同時宣告和初始化 ulong 型別變數的做法:

ulong uLong = 9223372036854775808;

當整數常值沒有後置字元時,它的型別會是下列中可表示其值的第一個型別:intuintlong 和 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 到 floatdoubledecimal 的隱含轉換。

從 ulong 到任何整數類資料型別沒有隱含轉換。 例如,下列陳述式必須使用明確轉換,否則會產生編譯錯誤:

long long1 = 8UL;   // Error: no implicit conversion from ulong

也預先定義好從 byteushortuintchar 至 ulong 的隱含轉換。

此外也沒有從浮點型別到 ulong 的隱含轉換。 例如,下列陳述式必須使用明確轉換,否則會產生編譯器錯誤:

// Error -- no implicit conversion from double:
ulong x = 3.0;
// OK -- explicit conversion:
ulong y = (ulong)3.0;  

如需混合浮點型別和整數型別之算術運算式的詳細資訊,請參閱 floatdouble

如需隱含數字轉換規則的詳細資訊,請參閱隱含數值轉換表 (C# 參考)

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。

請參閱

參考

C# 關鍵字

整數類資料型別表 (C# 參考)

內建型別資料表 (C# 參考)

隱含數值轉換表 (C# 參考)

明確數值轉換表 (C# 參考)

UInt64

概念

C# 程式設計手冊

其他資源

C# 參考