Last modified on 16 June 2014, at 09:21

Visual Basic .NET/Variables

VariablesEdit

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:

 Dim varName As varType

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:

 Dim MyInt As Integer


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.

Option Compare Text    ' By commenting this line the result becomes False
Module Module1
    Sub Main()
        Dim string1 As String = "a"
        Dim string2 As String = "A"
        MsgBox(string1 = string2)
    End Sub
End Module

Data TypesEdit

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:

IntegersEdit

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-pointEdit

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 1038
Double System.Double 64 bits (8 bytes) 15-16 digits 5.0 x 10-324 to 1.7 x 10308
Decimal System.Decimal 128 bits (16 bytes) 28-29 decimal places 1.0 x 10-28 to 7.9 x 1028

Other pre-defined typesEdit

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 VariablesEdit

Assigning ValuesEdit

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 LiteralsEdit

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.

ExamplesEdit

For string and char variables, use double quotes around value:

 strMyVariable = "The String"
 chrMyVariable = "À"

For date variables, use hashes/pounds around the value, in the format #<month>/<day>/<year> <hour>:<minute>:<second> <AM|PM>#:

 dtMyVariable = #7/4/1776 12:01:50 PM#

For all others, remove the quotes and hashes/pounds:

 bytMyVariable = 1
 sbytMyVariable = -2
 shrtMyVariable = 10S
 ushrtMyVariable = 10US
 intMyVariable = 100
 uintMyVariable = 100UI
 lngMyVariable = 1000L
 ulngMyVariable = 1000UL
 sngMyVariable = 1.234F
 dblMyVariable = 1.567R
 decMyVariable = 1234567.89D
 boolMyVariable = True
 objMyObject = New Object

Initial ValueEdit

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.

 Dim myVariable As String = "StringValue"

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.

ConstantsEdit

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:

 Const cnstMyConstant As String = "The very long string"

Here is an example:

 Const cnstPi As Single = 3.14159265F

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:

 Const cnstRadToDeg As Single = 57,29579143

And use it like this:

 Degrees = Radians / cnstRadToDeg

This constant is useful in functions like Sin, Cos, Tan, Arctan, etc.