| Visual Basic type | .NET Runtime type | structure Storage size | Value range |
Boolean | System.Boolean | 4 bytes | True or False |
Byte | System.Byte | 1 byte | 0 to 255 (unsigned) |
Char | System.Char | 2 bytes | 0 to 65535 (unsigned) |
Date | System.DateTime | 8 bytes | January 1, 1 CE to December 31, 9999 |
Decimal | System.Decimal | 12 bytes | +/-79,228,162,514,264,337,593,543,950,335 with no decimal point; +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/-0.0000000000000000000000000001 |
Double | System.Double | 8 bytes | -1.79769313486231E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values |
Integer | System.Int32 | 4 bytes | -2,147,483,648 to 2,147,483,647 |
Long | System.Int64 | 8 bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
Object | System.Object (class) | 4 bytes | Any type can be stored in a variable of type Object |
Short | System.Int16 | 2 bytes | -32,768 to 32,767 |
Single | System.Single | 4 bytes | -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values |
String | System.String (class) | 10 bytes + (2 * string length) | 0 to approximately two billion Unicode characters |
| User-Defined Type (structure) | (inherits from System.ValueType) | Sum of the sizes of its members | Each member of the structure has a range determined by its data type and independent of the ranges of the other members |
.NET Framework types not available in VB.NET: SByte, UInt16, UInt32, UInt64.