# Visual Basic .NET/Variables
## Variables

In programming a variable is simply a place to store data. A variable has a name and a data type. In Visual Basic .NET, a variable is declared using the Dim (short for Dimension) statement. Here is the syntax:
varName is the name of your variable.
varType is the data type of the variable. Types include string, integer, double, boolean, etc.
For example, to declare an integer named MyInt use:
By default, the variables case doesn't allow to distinguish them, so myint will automatically be converted in MyInt by the IDE if it's declared like that.
On the other hand, to make a program ignore the case in the string values, Option Compare Text should be added.

### Data Types

Data Types define the type of data that a variable can store. Some variables store numbers, others store names. The built-in VB.NET type aliases and their equivalent .NET Framework types follow:

#### Integers

| VB Alias | .NET Type | Size | Range |
| SByte | System.SByte | 8 bits (1 byte) | -128 to 127 |
| Byte | System.Byte | 8 bits (1 byte) | 0 to 255 |
| Short | System.Int16 | 16 bits (2 bytes) | -32,768 to 32,767 |
| UShort | System.UInt16 | 16 bits (2 bytes) | 0 to 65,535 |
| Integer | System.Int32 | 32 bits (4 bytes) | -2,147,483,648 to 2,147,483,647 |
| UInteger | System.UInt32 | 32 bits (4 bytes) | 0 to 4,294,967,295 |
| Long | System.Int64 | 64 bits (8 bytes) | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
| ULong | System.UInt64 | 64 bits (8 bytes) | 0 to 18,446,744,073,709,551,615 |

#### Floating-point

| VB Alias | .NET Type | Size | Precision | Range |
| Single | System.Single | 32 bits (4 bytes) | 7 digits | 1.5 x 10$^{-45}$ to 3.4 x 10$^{38}$ |
| Double | System.Double | 64 bits (8 bytes) | 15-16 digits | 5.0 x 10$^{-324}$ to 1.7 x 10$^{308}$ |
| Decimal | System.Decimal | 128 bits (16 bytes) | 28-29 decimal places | 1.0 x 10$^{-28}$ to 7.9 x 10$^{28}$ |

#### Other pre-defined types

| VB Alias | .NET Type | Size (bits) | Range |
| Char | System.Char | 16 bits (2 bytes) | One Unicode symbol in the range of 0 to 65,535. |
| Boolean | System.Boolean | 32 bits (4 bytes) | True or False |
| Object | System.Object | 32/64 bits (4/8 bytes) | Platform dependent (a reference to an object). |
| Date | System.DateTime | 64 bits (8 bytes) | January 1, 0001 12:00:00 AM to December 31, 9999 11:59:59 PM |
| String | System.String | 80 + [16 * Length] bits (10 + [2 * Length] bytes) | A Unicode string with a maximum length of 2,147,483,647 characters. |

## Using Variables
### Assigning Values

A value is the data contained in a variable. To assign a value to a variable that is already declared, use an equal sign.

### Suffix for Literals

Integral literals, such as 42 and 1000, are of type Integer by default. String and character literals, such as "Hello World" and "À", are of type String by default. To specify the type for a literal, suffixes are used. The suffixes are appended immediately after the literals, in the manner <literal><suffix>, without any whitespace between.

### Examples

For string and char variables, use double quotes around value:
For date variables, use hashes/pounds around the value, in the format #<month>/<day>/<year> <hour>:<minute>:<second> <AM|PM>#:
For all others, remove the quotes and hashes/pounds:

### Initial Value

To assign a variable the value of another variable, simply replace the value on the right side of the equal sign with the name of the variable that holds the desired data.
You can also assign a value to a variable in the declaration itself.
Important: Visual Basic always assigns the value of the right variable to the left variable. The variable on the left takes the value of the right variable. The variable on the right does not change.

## Constants

Constants are like variables that don't change. They take the place of values that you would not like to type over and over. Constants are declared using the keyword "Const". Their values are defined in their declaration - they also use data types. Here is the syntax:
Here is an example:
Constants are very useful when you need to type the same numbers/strings/etc many times. For example, to convert from radians to degrees you can type 180/Pi constant:
And use it like this:
This constant is useful in functions like Sin, Cos, Tan, Arctan, etc.