The following table shows the Visual Basic .NET data types, their supporting common language runtime types, their nominal storage allocation, and their value ranges.
Visual Basic type | Common language runtime type structure | Nominal storage allocation | Value range |
---|---|---|---|
Boolean | System.Boolean | 2 bytes | True or False. |
Byte | System.Byte | 1 byte | 0 through 255 (unsigned). |
Char | System.Char | 2 bytes | 0 through 65535 (unsigned). |
Date | System.DateTime | 8 bytes | 0:00:00 on January 1, 0001 through 11:59:59 PM on December 31, 9999. |
Decimal | System.Decimal | 16 bytes | 0 through +/-79,228,162,514,264,337,593,543,950,335 with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest nonzero number is +/-0.0000000000000000000000000001 (+/-1E-28). |
Double (double-precision floating-point) |
System.Double | 8 bytes | -1.79769313486231570E+308 through -4.94065645841246544E-324 for negative values; 4.94065645841246544E-324 through 1.79769313486231570E+308 for positive values. |
Integer | System.Int32 | 4 bytes | -2,147,483,648 through 2,147,483,647. |
Long (long integer) |
System.Int64 | 8 bytes | -9,223,372,036,854,775,808 through 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 through 32,767. |
Single (single-precision floating-point) |
System.Single | 4 bytes | -3.4028235E+38 through -1.401298E-45 for negative values; 1.401298E-45 through 3.4028235E+38 for positive values. |
String (variable-length) |
System.String (class) | Depends on implementing platform | 0 to approximately 2 billion Unicode characters. |
User-Defined Type (structure) |
(inherits from System.ValueType) | Depends on implementing platform | Each member of the structure has a range determined by its data type and independent of the ranges of the other members. |