概要
変数に数字を割当てたい場合の説明です。
例えば、とある数字型 の変数に 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ですが、型が違いますね。



コメント