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