Short データ型 (Visual Basic)

-32,768 から 32,767 までの符号付き 16 ビット (2 バイト) の整数を保持します。

Remarks

Integer の完全なデータ幅を必要としない整数値を格納するには、Short データ型を使用します。 場合によっては、共通言語ランタイムで Short 変数を緊密にパックし、メモリ消費を節約できます。

Short の既定値は 0 です。

リテラルの代入

Short 変数を宣言し、10 進リテラル、16 進リテラル、8 進リテラル、または (Visual Basic 2017 以降) バイナリ リテラルを代入することによって初期化できます。 整数リテラルが Short の範囲外にある場合 (つまり、Int16.MinValue より小さいか、Int16.MaxValue より大きい場合)、コンパイル エラーが発生します。

次の例では、整数 1,034 を 10 進リテラル、16 進リテラル、バイナリ リテラルで表したものが、Integer から Short 値に暗黙的に変換されています。

Dim shortValue1 As Short = 1034
Console.WriteLine(shortValue1)

Dim shortValue2 As Short = &H040A
Console.WriteLine(shortValue2)

Dim shortValue3 As Short = &B0100_00001010
Console.WriteLine(shortValue3)
' The example displays the following output:
'          1034
'          1034
'          1034

注意

16 進リテラルを表すにはプレフィックス &h または &H を使い、バイナリ リテラルを表すにはプレフィックス &b または &B を使い、8 進リテラルを表すにはプレフィックス &o または &O を使います。 10 進リテラルには、プレフィックスはありません。

Visual Basic 2017 以降では、次の例に示すように、アンダースコア文字 _ を桁区切り記号として使って読みやすくすることもできます。

Dim shortValue1 As Short = 1_034
Console.WriteLine(shortValue1)

Dim shortValue3 As Short = &B00000100_00001010
Console.WriteLine(shortValue3)
' The example displays the following output:
'          1034
'          1034

Visual Basic 15.5 以降では、プレフィックスと 16 進数、2 進数、または 8 進数の間に先頭の区切り記号としてアンダースコア文字 (_) を使用することもできます。 次に例を示します。

Dim number As Short = &H_3264

アンダースコア文字を先頭の区切り記号として使用するには、以下の要素を Visual Basic プロジェクト (*.vbproj) ファイルに追加する必要があります。

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

詳細については、「Visual Basic 言語バージョンの選択」を参照してください。

数値リテラルには、次の例に示すように、S型文字を含めて、Short データ型を表すこともできます。

Dim number = &H_3264S

プログラミングのヒント

  • 拡大変換。 Short データ型は、IntegerLongDecimalSingle、または Double に拡大変換されます。 これは、Short エラーを発生させることなく、これらの型のいずれかに System.OverflowException を変換できることを意味します。

  • 型宣言文字。 あるリテラルにリテラルの型文字 S を付けると、そのリテラルは Short に変換されます。 Short には識別子の型文字がありません。

  • Framework のデータ型 .NET Framework において対応する型は、System.Int16 構造体です。

関連項目