The Option and Imports Statements in VB .NET

By: Steven Holzner Emailed: 1788 times Printed: 2623 times    

Two additional statements that are very important to know about when constructing programs are the Option and Imports statements. The Option statement sets a number of options for the rest of your code, and the Imports statement imports namespaces into your code, making them more readily available.

Option Statements

You use Option statements to set the "ground rules" for your code, helping prevent syntax and logic errors. Here are the possibilities:

  • Option Explicit— Set to On or Off. On is the default. Requires declaration of all variables before they are used (this is the default).

  • Option Compare— Set to Binary or Text. This specifies if strings are compared using binary or text comparison operations.

  • Option Strict— Set to On or Off. Off is the default. When you assign a value of one type to a variable of another type Visual Basic will consider that an error if this option is on and there is any possibility of data loss, as when you're trying to assign the value in a variable to a variable of less precise data storage capacity. In that case, you must use explicit conversion functions, like CLng.

You use Option statements first thing in code, like this one in which I'm turning Option Strict off:

Option Strict Off
Module Module1
    Sub Main()
        System.Console.WriteLine("Hello from Visual Basic")
    End Sub

End Module

Imports Statements

You use Imports statements to import a namespace so you don't have to qualify items in that namespace by listing the entire namespace when you refer to them. For example, here's what our code might look like; the WriteLine procedure is built into the System.Console namespace, so it is a method of that namespace, and to use it, I qualify its name with the namespace it belongs to:

Option Strict Off
Module Module1

    Sub Main()
        System.Console.WriteLine("Hello from Visual Basic")
    End Sub

End Module

On the other hand, if we import the System.Console namespace, that makes that namespace immediately available, so we don't have to qualify the WriteLine method name anymore (note that Option statements, if there are any, must still come first):

Option Strict Off
Imports System.Console
Module Module1

    Sub Main()
        WriteLine("Hello from Visual Basic")
    End Sub

End Module
Tip 

Each project has its own root namespace, and by default, Visual Basic uses the name of the project for the root namespace. If you prefer, you can set another namespace—just right-click the project in the Solutions Explorer, select the Properties menu item, open the Common Properties folder, select the General item, and enter the new namespace name in the Root Namespace box.

Most Viewed Articles (in VB.net )

Latest Articles (in VB.net)

Comment on this tutorial