概要
変数に数字を割当てたい場合の説明です。
例えば、とある数字型 の変数に 100 が入っているか確認するのに
If num = 100 Then
'処理
End If
とコーディングしますが、ちょっと待ってその 100 って型はなんですか?っていうお話
内容
VB.NET では、リテラルの数字 100 は Integerとして扱われます。
Dim num = 100
とコーディングして、100 にマウスを当てて欲しいのですが、こんな感じに表示されます。
※System.Int32 は Integer の .NET Framework としての名前です。
単純に 100 とした場合、Integer 型です。
同じ要領で
Dim num = 100S
Dim num = 100L
とコーディングして、マウスを当ててみてください。型が変わります。
後ろについている S とか L をサフィックスと言います。サフィックスが付くと型が変わります。
型 | サフィックス | 例 | |
整数 | Short | S | 100S |
Integer | I | 100I | |
Long | L | 100L | |
UInteger | UI | 100UI | |
ULong | UL | 100UL | |
実数 | Single | F | 100F |
Double | R | 100R | |
Decimal | D | 100D |
じゃあ、100S と 100Lで何か違うかと言われれば、困ることはほとんどないです。ただ、金額を扱う事が多いDecimal型には明示的 D を付けておいた方が良いことが多いです。
詳しくはこの辺を読んでみてください
https://it.yawapro.com/archives/1597
サンプルコード
Module Module1
Sub Main()
Dim obj = New Object() {100S,
100I,
100L,
100UI,
100UL,
100.0F,
100.0R,
100D}
For Each ob In obj
Console.WriteLine(ob.ToString & "," & ob.GetType.ToString)
Next
End Sub
End Module
100,System.Int16
100,System.Int32
100,System.Int64
100,System.UInt32
100,System.UInt64
100,System.Single
100,System.Double
100,System.Decimal
続行するには何かキーを押してください . . .
みためはどれも100ですが、型が違いますね。
コメント