Long 資料類型 (Visual Basic)

保存帶正負號的 64 位元 (8 位元組) 整數,範圍介於 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (9.2...E+18) 之間。

備註

使用 Long 資料類型來包含太大而無法放入資料類型的 Integer 整數。

Long 的預設值為 0。

常值指派

您可以針對 Long 變數指派十進位常值、十六進位常值、八進位常值、或二進位常值 (自 Visual Basic 2017 起),以將其宣告和初始化。 如果整數常值超出 Long 的範圍 (亦即,如果小於 Int64.MinValue 或大於 Int64.MaxValue),就會發生編譯錯誤。

在下列範例中,如果整數等於 4,294,967,296,即表示 Long 值指派了十進位、十六進位和二進位常值。

Dim longValue1 As Long = 4294967296
Console.WriteLine(longValue1)

Dim longValue2 As Long = &H100000000
Console.WriteLine(longValue2)

Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
'          4294967296
'          4294967296
'          4294967296

注意

您可以使用 &h&H 前置詞來表示十六進位常值,以 &b&B 前置詞來表示二進位常值,以 &o&O 前置詞來表示八進位常值。 十進位常值沒有前置詞。

自 Visual Basic 2017 開始,您也可以使用底線字元 (_) 作為數字分隔符號,以提升可讀性,如下列範例所示。

Dim longValue1 As Long = 4_294_967_296
Console.WriteLine(longValue1)

Dim longValue2 As Long = &H1_0000_0000
Console.WriteLine(longValue2)

Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
'          4294967296
'          4294967296
'          4294967296

從 Visual Basic 15.5 開始,您也可以使用底線字元 (_) 作為前置字元與十六進位、二進位或八進位數字之間的前置分隔符號。 例如:

Dim number As Long = &H_0FAC_0326_1489_D68C

若要使用底線字元作為前置分隔符號,您必須將下列項目新增至 Visual Basic 專案 (*.vbproj) 檔:

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

如需詳細資訊,請參閱選取 Visual Basic 語言版本

數值常值也可包含L類型字元來表示 Long 資料類型,如下列範例所示。

Dim number = &H_0FAC_0326_1489_D68CL

程式設計提示

  • Interop 考量。 如果您要使用的元件不是針對 .NET Framework 所撰寫 (例如 Automation 或 COM 物件),請記住,Long 在其他環境中會有不同的資料寬度 (32 位元)。 如果您要將 32 位元引數傳遞至這類元件,請在新的 Visual Basic 程式碼中將其宣告為 Integer,而不是 Long

  • 擴展。 Long 資料類型可擴展為 DecimalSingleDouble。 這表示,您可以將 Long 轉換成這些類型的任何一種,而不會發生 System.OverflowException 錯誤。

  • 型別字元。 將常值類型字元 L 附加到常值,會強制其成為 Long 資料類型。 將識別項類型字元 & 附加到任何識別項,會強制其成為 Long

  • Framework 型別。 在 .NET Framework 中對應的類型為 System.Int64 結構。

另請參閱