Long データ型 (Visual Basic)
-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 (9.2...E+18) までの値の範囲の符号付き 64 ビット (8 バイト) の整数を保持します。
Remarks
Long
データ型を使用して、Integer
データ型には大きすぎて収まらない整数値を格納します。
Long
の既定値は 0 です。
リテラルの代入
Long
変数を宣言し、10 進リテラル、16 進リテラル、8 進リテラル、または (Visual Basic 2017 以降) バイナリ リテラルを代入することによって初期化できます。 整数リテラルが Long
の範囲外にある場合 (つまり、Int64.MinValue より小さいか、Int64.MaxValue より大きい場合)、コンパイル エラーが発生します。
次の例では、整数 4,294,967,296 を 10 進リテラル、16 進リテラル、バイナリ リテラルで表したものが、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
注意
16 進リテラルを表すにはプレフィックス &h
または &H
を使い、バイナリ リテラルを表すにはプレフィックス &b
または &B
を使い、8 進リテラルを表すにはプレフィックス &o
または &O
を使います。 10 進リテラルには、プレフィックスはありません。
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 以降では、プレフィックスと 16 進数、2 進数、または 8 進数の間に先頭の区切り記号としてアンダースコア文字 (_
) を使用することもできます。 次に例を示します。
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
プログラミングのヒント
相互運用の考慮事項。 オートメーション オブジェクトや COM オブジェクトなど、.NET Framework 用に作成されていないコンポーネントとやり取りする場合、他の環境では整数型 (
Long
) のデータ幅 (32 ビット) が異なることに注意してください。 そのようなコンポーネントに 32 ビットの引数を渡す場合は、新しい Visual Basic のコードで、整数型 (Long
) ではなく短整数型 (Integer
) として宣言します。拡大変換。
Long
データ型は、Decimal
、Single
、またはDouble
に拡大変換されます。 これは、Long
エラーを発生させることなく、これらの型のいずれかに System.OverflowException を変換できることを意味します。型宣言文字。 あるリテラルにリテラルの型文字
L
を付けると、そのリテラルはLong
に変換されます。 ある識別子に識別子の型文字&
を付けると、その識別子は整数型 (Long
) に変換されます。Framework のデータ型 .NET Framework において対応する型は、System.Int64 構造体です。
関連項目
.NET