UShort データ型 (Visual Basic)
0 から 65,535 までの値の範囲の符号なし 16 ビット (2 バイト) の整数を保持します。
Remarks
Byte
には大きすぎるバイナリ データを格納する場合に、UShort
データ型を使用します。
UShort
の既定値は 0 です。
リテラルの代入
UShort
変数を宣言し、10 進リテラル、16 進リテラル、8 進リテラル、または (Visual Basic 2017 以降) バイナリ リテラルを代入することによって初期化できます。 整数リテラルが UShort
の範囲外にある場合 (つまり、UInt16.MinValue より小さいか、UInt16.MaxValue より大きい場合)、コンパイル エラーが発生します。
次の例では、整数 65,034 を 10 進リテラル、16 進リテラル、バイナリ リテラルで表したものが、UShort
値に代入されています。
Dim ushortValue1 As UShort = 65034
Console.WriteLine(ushortValue1)
Dim ushortValue2 As UShort = &HFE0A
Console.WriteLine(ushortValue2)
Dim ushortValue3 As UShort = &B1111_1110_0000_1010
Console.WriteLine(ushortValue3)
' The example displays the following output:
' 65034
' 65034
' 65034
注意
16 進リテラルを表すにはプレフィックス &h
または &H
を使い、バイナリ リテラルを表すにはプレフィックス &b
または &B
を使い、8 進リテラルを表すにはプレフィックス &o
または &O
を使います。 10 進リテラルには、プレフィックスはありません。
Visual Basic 2017 以降では、次の例に示すように、アンダースコア文字 _
を桁区切り記号として使って読みやすくすることもできます。
Dim ushortValue1 As UShort = 65_034
Console.WriteLine(ushortValue1)
Dim ushortValue3 As UShort = &B11111110_00001010
Console.WriteLine(ushortValue3)
' The example displays the following output:
' 65034
' 65034
Visual Basic 15.5 以降では、プレフィックスと 16 進数、2 進数、または 8 進数の間に先頭の区切り記号としてアンダースコア文字 (_
) を使用することもできます。 次に例を示します。
Dim number As UShort = &H_FF8C
アンダースコア文字を先頭の区切り記号として使用するには、以下の要素を Visual Basic プロジェクト (*.vbproj) ファイルに追加する必要があります。
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
詳細については、「Visual Basic 言語バージョンの選択」を参照してください。
数値リテラルには、次の例に示すように、US
または us
型文字を含めて、UShort
データ型を表すこともできます。
Dim number = &H_5826us
プログラミングのヒント
負の数値。
UShort
は符号なしの型であるため、負の数を表すことはできません。UShort
型に評価される式で、単項マイナス (-
) 演算子を使用すると、Visual Basic で式が最初にInteger
に変換されます。CLS 準拠。
UShort
データ型は共通言語仕様 (CLS) に含まれないため、CLS に準拠しているコードではそれを使用するコンポーネントを使用できません。拡大変換。
UShort
データ型は、Integer
、UInteger
、Long
、ULong
、Decimal
、Single
、およびDouble
に拡大変換されます。 これは、System.OverflowException エラーを発生させることなく、これらの型のいずれかにUShort
を変換できることを意味します。型宣言文字。 あるリテラルにリテラルの型文字
US
を付けると、そのリテラルはUShort
データ型に変換されます。UShort
には識別子の型文字がありません。Framework のデータ型 .NET Framework において対応する型は、System.UInt16 構造体です。
関連項目
.NET