次の方法で共有


定数データ型とリテラル データ型 (Visual Basic)

リテラルは、変数の値または式の結果 (数値 3 や文字列 "Hello" など) ではなく、それ自体として表される値です。 定数は、リテラルの代わりに使用されるわかりやすい名前であり、値が変更される可能性がある変数とは対照的に、プログラム全体で同じ値を保持します。

Option InferOffOption StrictOnされている場合は、すべての定数をデータ型で明示的に宣言する必要があります。 次の例では、 MyByte のデータ型がデータ型 Byteとして明示的に宣言されています。

Option Strict On

Public Class Sample
  Public Const MyByte As Byte = 2
End Class

Option InferOnまたはOption StrictOff場合は、As句でデータ型を指定せずに定数を宣言できます。 コンパイラは、式の型から定数の型を決定します。 数値整数リテラルは、既定で Integer データ型にキャストされます。 浮動小数点数の既定のデータ型はDoubleされ、キーワードはTrueされ、Boolean定数を指定False

リテラルと型強制型

場合によっては、リテラルを特定のデータ型に強制することができます。たとえば、特に大きな整数リテラル値を Decimal型の変数に割り当てる場合です。 次の例では、エラーが発生します。

Dim myDecimal as Decimal  
myDecimal = 100000000000000000000   ' This causes a compiler error.  

エラーは、リテラルの表現によって発生します。 Decimalデータ型は、この大きな値を保持できますが、リテラルは暗黙的にLongとして表されます。これはできません。

リテラルを特定のデータ型に強制するには、型文字を追加するか、外側の文字内に配置する方法の 2 つの方法があります。 型文字または外側の文字は、リテラルの直前または後に置く必要があり、スペースや文字は一切含めてはなりません。

前の例を機能させるには、リテラルに D 型文字を追加すると、 Decimalとして表されます。

Dim MyDecimal As Decimal = 100000000000000000000D

次の例は、型文字と外側の文字の正しい使用法を示しています。

' Default to Integer.
Public Const DefaultInteger As Integer = 100

' Default to Double.
Public Const DefaultDouble As Double = 54.3345612

' Force constant to be type Char.
Public Const MyCharacter As Char = "a"c

' DateTime constants.
Public Const MyDate As DateTime = #1/15/2001#
Public Const MyTime As DateTime = #1:15:59 AM#

' Force data type to be Long.
Public Const MyLong As Long = 45L

' Force data type to be Single.
Public Const MySingle As Single = 45.55!

次の表は、Visual Basic で使用できる囲み文字と型文字を示しています。

データの種類 外側の文字 追加された型文字
Boolean (なし) (なし)
Byte (なし) (なし)
Char 「」 C
Date # (なし)
Decimal (なし) D または@
Double (なし) R または#
Integer (なし) I または %
Long (なし) L または >
Short (なし) S
Single (なし) F または !
String 「」 (なし)

こちらも参照ください