Visual Basic .NET/Variables
Variables
editIn 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 Types
editData 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
editVB 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
editVB 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 types
editVB 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
editAssigning Values
editA 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
editIntegral 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
editFor 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 Value
editTo 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.
Constants
editConstants 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.