[ VB.NET ] 変数名とリテラルに型文字をつけて変数を初期化する

Pocket

ここでは、VB.NET において、変数名 + 型文字 のように変数と型をまとめて宣言するサンプルコードを掲載しています。また、リテラルに型文字をつけることで、明示的にそれぞれの型を宣言することができます。Dim v = 0 だけでは、Integer 型か Long 型か区別することができません。ちなみに、VS2015 では Int32 として型が宣言されました。

スポンサーリンク


変数名およびリテラル型+型文字の一覧

変数名につける型文字と、値を代入するときにリテラルにつける型文字の一覧は下表の通りです。

変数名+型文字リテラル+型文字
Integer ( Int32 )%I
Long ( Int64 )&L
Decimal@D
Single!F
Double#R

型文字を使ったサンプルコード

表を見ただけでは、具体的な記述がわかりにくいと思います。次は、実際に型文字を使用したサンプルコードになります。詳細はサンプル内のコメントを参照ください。

    ' Integer(Int32) 型を I で明示的に示す
    Dim i1 As Integer = 4I
    Debug.Print(i1)

    ' 変数+'%' で宣言することで Integer 型であることを表す
    Dim i2% = 2
    Debug.Print(i2)

    ' Long(Int64) 型を L で明示的に示す
    Dim l1 As Long = 4L
    Debug.Print(l1)

    ' 変数+'&' で宣言することで Long 型であることを表す
    Dim l2& = 2
    Debug.Print(l2)

    ' Single 型を F で明示的に示す
    Dim s1 As Single = 4.5F
    Debug.Print(s1)

    ' 変数+'!' で宣言することで Single 型であることを表す
    Dim s2! = 2.0
    Debug.Print(s2)

   ' Double 型を R で明示的に示す
    Dim d1 As Double = 4.5R
    Debug.Print(d1)

    ' 変数+'#' で宣言することでDouble 型であることを表す
    Dim d2# = 2.0
    Debug.Print(d2)

    ' Decimal 型を D で明示的に示す
    Dim de1 As Decimal = 4.5D
    Debug.Print(de1)

    ' 変数+'@' で宣言することで Decimal 型であることを表す
    Dim de2@ = 2.2
    Debug.Print(de2)

慣れの問題もあるとは思いますが、「 変数+型文字 」 による型の宣言は間違いやすそうであり、逆に発見困難な不具合をもたらしそうな予感がします。

あくまでも個人の見解です。「 そうじゃない 」 とのご意見には何の反論もありません。

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>