VB.NET 1.1 Tutorial - Data Types


The following table shows the Visual Basic .NET data types, their supporting common language runtime types, their nominal storage allocation, and their value ranges.

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

Boolean

You should only use the keywords True and False to assign one of the two states to Boolean variables. When numeric data types are converted to Boolean values, 0 becomes False and all other values become True. When Boolean values are converted to numeric types, False becomes 0 and True becomes -1.

Byte

The Byte data type is used for containing binary data. It can be converted to the Short, Integer, Long, Single, Double, or Decimal data types with causing an exception.

Char

Each number represents a single Unicode character. To convert a single character string to a char, we append the literal type character C:

Dim CharVar As Char
CharVar = "Z"C   ' Successfully assigns single character to CharVar.

Date

Date values must be enclosed within number signs (#) and be in the format m/d/yyyy, for example #5/31/1993#.

Decimal

If you wish to store a large number as a decimal, then you append the literal type character D:

Dim BigDec1 As Decimal = 9223372036854775807   ' Valid
Dim BigDec2 As Decimal = 9223372036854775808   ' Invalid
Dim BigDec3 As Decimal = 9223372036854775808D  ' Valid 

Double

To convert a literal to a Double, we append the literal type character R.

Integer

The Integer data type provides optimal performance on a 32-bit processor, as the smaller integral types are slower to load and store from and to memory. To convert a literal to an Integer, we append the literal type character I.

Long

To convert a literal to a Long, we append the literal type character L.

Object

An Object variable can also refer to data of any value type (numeric, Boolean, Char, Date, structure, or enumeration).

Short

To convert a literal to a Short, we append the literal type character S.

Single

To convert a literal to a Single, we append the literal type character F.

String

Appending the identifier type character $ to any identifier forces it to the String data type.

User-Defined

The user-defined type (UDT) supported by previous versions of Visual Basic is generalized to a structure in Visual Basic .NET.


References

For more information on Data Types, visit MSDN at microsoft here.

What Next?

Return to the Tutorial Contents.