VB.net Data Type
VB.net Data Type is a complex mechanism for defining variables and operations of various types.
The type of a variable dictates how much storage space it takes up and how the stored bit pattern is interpreted.
The Data Type in VB.NET is used to specify the type of a variable or function in a program. Furthermore, the data conversion function is used to convert one data type to another.
A Data Sort specifies the type of data or value that should be assigned to a variable or function in order for it to carry a specific data type value.
When we declare a variable, for example, we must inform the compiler what sort of data or value is assigned to different types of variables in order for them to hold different amounts of memory in the computer.
Available Data Types in VB.net
VB.net provides a wide range of data types. The following table shows all the data types available in vb.net.
| VB.net Data Type | Storage Allocation | Value Range |
|---|---|---|
| Boolean | Depends on implementing platform | True or False |
| Byte | 1 byte | 0 through 255 (unsigned) |
| Char | 2 bytes | 0 through 65535 (unsigned) |
| Date | 8 bytes | 0:00:00 (midnight) on January 1, 0001 through 11:59:59 PM on December 31, 9999 |
| Decimal | 16 bytes | 0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9…E+28) with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal |
| Double | 8 bytes | -1.79769313486231570E+308 through -4.94065645841246544E-324, for negative values4.94065645841246544E-324 through 1.79769313486231570E+308, for positive values |
| Integer | 4 bytes | -2,147,483,648 through 2,147,483,647 (signed) |
| Long | 8 bytes | -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807(signed) |
| Object | 4 bytes on 32-bit platform8 bytes on 64-bit platform | Any type can be stored in a variable of type Object |
| SByte | 1 byte | -128 through 127 (signed) |
| Short | 2 bytes | -32,768 through 32,767 (signed) |
| Single | 4 bytes | -3.4028235E+38 through -1.401298E-45 for negative values;1.401298E-45 through 3.4028235E+38 for positive values |
| String | Depends on implementing platform | 0 to approximately 2 billion Unicode characters |
| UInteger | 4 bytes | 0 through 4,294,967,295 (unsigned) |
| ULong | 8 bytes | 0 through 18,446,744,073,709,551,615 (unsigned) |
| User-Defined | 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 |
| UShort | 2 bytes | 0 through 65,535 (unsigned) |
VB.net Types Example
The following example demonstrates the use of some of the VB.net types.
Module Data_type
Sub Main()
' defining the Data Type to the variables
Dim b As Byte = 1
Dim num As Integer = 5
Dim si As Single
Dim db As Double
Dim get_date As Date
Dim c As Char
Dim str As String
b = 1
num = 20
si = 0.12
db = 2131.787
get_date = Today
c = "A"
str = "Hello IT SOURCECODERS..."
Console.WriteLine("Welcome to the IT SOURCECODE")
Console.WriteLine("Byte is: {0}", b)
Console.WriteLine("Integer number is: {0}", num)
Console.WriteLine("Single data type is: {0}", si)
Console.WriteLine("Double data type is: {0}", db)
Console.WriteLine("Today is: {0}", get_date)
Console.WriteLine("Character is: {0}", b)
Console.WriteLine("String message is: {0}", str)
Console.ReadKey()
End Sub
End Module When the above code is compiled and executed, it produces the following result.
Welcome to the IT SOURCECODE
Byte is: 1
Integer number is: 20
Single data type is: 0.12
Double data type is: 2131.787
Today is: 6/20/2022 12:00:00 AM
Character is: 1
String message is: Hello IT SOURCECODERS…
You can test the above example here! ➡ VB.net Online Compiler
The Type Conversion Functions in VB.net
VB.net provides the following in-line type conversion functions.
| Sr.No. | Functions & Description |
|---|---|
| 1. | CBool(expression)Converts the expression to Boolean data type. |
| 2. | CByte(expression)Converts the expression to Byte data type. |
| 3. | CChar(expression)Converts the expression to Char data type. |
| 4. | CDate(expression)Converts the expression to Date data type |
| 5. | CDbl(expression)Converts the expression to Double data type. |
| 6. | CDec(expression)Converts the expression to Decimal data type. |
| 7. | CInt(expression)Converts the expression to Integer data type. |
| 8. | CLng(expression)Converts the expression to Long data type. |
| 9. | CObj(expression)Converts the expression to Object type. |
| 10. | CSByte(expression)Converts the expression to SByte data type. |
| 11. | CShort(expression)Converts the expression to Short data type. |
| 12. | CSng(expression)Converts the expression to Single data type. |
| 13. | CStr(expression)Converts the expression to String data type. |
| 14. | CUInt(expression)Converts the expression to UInt data type. |
| 15. | CULng(expression)Converts the expression to ULng data type. |
| 16. | CUShort(expression)Converts the expression to UShort data type. |
VB.net Functions Example
The following example demonstrates some of these functions.
Module DataTypes
Sub Main()
Dim n As Integer
Dim da As Date
Dim bl As Boolean = True
n = 1234567
da = Today
Console.WriteLine(bl)
Console.WriteLine(CSByte(bl))
Console.WriteLine(CStr(bl))
Console.WriteLine(CStr(da))
Console.WriteLine(CChar(CChar(CStr(n))))
Console.WriteLine(CChar(CStr(da)))
Console.ReadKey()
End Sub
End ModuleWhen the above code is compiled and executed, it produces the following result.
True
-1
True
6/20/2022
1
6
You can test the above example here! ➡ VB.net Online Compiler
Summary
Each variable must belong to a data type. The data type determines the amount of memory space allocated to the variable.
We can convert a variable from one data type to another.
Initializing variables means assigning values to the variables. We create a console application to help us get input from the users via the console using the ReadLine function.
PREVIOUS
NEXT
Common use cases for VB.net Data Type with Example – Available Data Types
VB.net Data Type with Example – Available Data Types shows up frequently in production VB.NET codebases. The most common patterns:
- Business logic layer. Encapsulate rules and workflows separate from the UI.
- Data access patterns. Bridge between UI events and database operations cleanly.
- Utility helpers. Reusable methods for string processing, date arithmetic, or format conversion.
- Integration with .NET libraries. Interoperate with System.IO, System.Net, System.Text.RegularExpressions, and more.
- Legacy migration. Modernize VB6 code by wrapping old logic in idiomatic VB.NET constructs.
Working code example
Public Module Program
Public Sub Main(args As String())
' Practical demonstration of VB.net Data Type with Example - Available Data Types
Dim result As String = ProcessData("sample input")
Console.WriteLine("Result: " & result)
Console.ReadKey()
End Sub
Private Function ProcessData(input As String) As String
If String.IsNullOrWhiteSpace(input) Then
Return "empty"
End If
Return input.ToUpper()
End Function
End Module
Best practices when working with VB.net Data Type with Example – Available Data Types
- Explicit typing. Enable Option Strict On at the project level to force compile-time type checking.
- Namespace hygiene. Group related types under project-specific namespaces to avoid conflicts with .NET Framework types.
- Consistent naming. Follow Microsoft’s VB.NET style guide: PascalCase for public members, camelCase for locals.
- Error handling with Try/Catch. Prefer specific exception types over catch-all Exception blocks.
- Modern language features. Use string interpolation, LINQ, and Async/Await where they clarify intent.
Common pitfalls
- Late binding. Without Option Strict, VB.NET falls back to late-binding, hiding bugs until runtime.
- Nothing vs empty string. String.IsNullOrEmpty and String.IsNullOrWhiteSpace catch both cases; avoid checking IsNothing alone.
- Integer overflow. Use Long or Decimal for arithmetic that may exceed Int32.MaxValue.
- Date parsing across cultures. Always pass CultureInfo.InvariantCulture when serializing dates for storage.


