数値および文字列のリテラルにサフィックスを付けることで、リテラルの型を明示的に指定することが出来ます。 また、VBではサフィックスの他にも型文字と呼ばれる記号を付けることでも型を指定することが出来ます。 なお、以下の表中では明記していませんが、VBでもサフィックスを小文字で指定できます。

特にリテラルを指定しない場合、数値型ではint/Integer、実数型ではdouble/Doubleとして扱われ、代入に際しては代入先の型に変換されます。

サフィックスとリテラルの例
.NET Framework C# VB
サフィックス リテラルの例 サフィックス 型文字 リテラルの例
整数型 System.SByte sbyte - - SByte - - -
System.Int16 short - - Short S - 1024S
System.Int32 int - 100000 Integer I % 100000
100000I
100000%
System.Int64 long L/l 200L
3000000000l
Long L & 00L
3000000000&
System.Byte byte - - Byte - - -
System.UInt16 ushort - - UShort US - 2048US
System.UInt32 uint u/U 12u
12U
UInteger UI - 12UI
System.UInt64 ulong ul/LUなど
(大文字小文字・ULの順序は自由)
200ul
3000000000Lu
ULong UL - 3000000000UL
実数型 System.Single float f/F 1.0f
1.0F
Single F ! 1.0F
1.0!
System.Double double d/D 3.14
3.14d
3.14D
Double R # 3.14
3.14R
3.14#
System.Decimal decimal m/M 0.66666666m
0.66666666M
Decimal D @ 0.66666666D
0.66666666@
文字・文字列型 System.Char char - 'A' Char C - "A"C
System.String string - "ABC" String - - "ABC"
サフィックス リテラルの例 サフィックス 型文字 リテラルの例
.NET Framework C# VB

16進数表記8進数表記などの整数リテラルを記述する場合でも、プレフィックスと組み合わせてサフィックスを付けることで型を指定することが出来ます。

サフィックスを使って数値リテラルの型を指定する
using System;

class Sample {
  static void Main()
  {
    // 10進数リテラルとサフィックス
    Console.WriteLine("{0} {1}", 100,  (100).GetType());
    Console.WriteLine("{0} {1}", 100u, (100u).GetType());
    Console.WriteLine("{0} {1}", 100L, (100L).GetType());

    // 16進数リテラルとサフィックス
    Console.WriteLine("{0} {1}", 0x100,  (0x100).GetType());
    Console.WriteLine("{0} {1}", 0x100u, (0x100u).GetType());
    Console.WriteLine("{0} {1}", 0x100L, (0x100L).GetType());
  }
}