Visual Basic .NET is one of the two flagship languages (with C#) for the .NET framework from Microsoft. Despite being called Visual Basic, it is actually not backwards-compatible with VB6, and any code written in the old version will not compile under VB.NET.

As a language, Visual Basic.NET has the following traits:


As with all .NET languages, VB.NET includes full-blown support for object-oriented concepts, including simple inheritance. Everything in VB.NET is an object, including all of the primitives (Short, Integer, Long, String, Boolean, etc.) as well as types, events, and even assemblies. Everything inherits from the Object base class.


All previous versions of Visual Basic were event-driven, but this feature is heavily enhanced under the .NET framework. Events are no longer recognized because they use a certain naming convention (ObjectName_EventName), but now are declared with a Handles ObjectName.EventName clause. Event handlers can also be declared at runtime using the AddHandler command.

.NET Framework

As the name implies, VB.NET runs on top of Microsoft's .NET framework, meaning the language has full access to all of the supporting classes in the framework. It's also possible to run VB.NET programs on top of Mono, the open-source alternative to .NET, not only under Windows, but even Linux or Mac OSX

Visual Basic [.NET] Visual Basic Express icon.png
Visual Studio 2012 EN.png
Paradigm     Multi-paradigm: structured, imperative, object-oriented, declarative, generic, reflective and event-driven
Designed by     Microsoft
Developer     Microsoft
First appeared     2001; 15 years ago
Stable release    
2015 (14.0) / 5 June 2015; 15 months ago
Typing discipline     Static, both strong and weak,[1] both safe and unsafe,[1] nominative
Platform     .NET Framework, Mono
OS     Chiefly Windows
Also on Android, BSD, iOS, Linux, Mac OS X, Solaris and Unix
Filename extensions     .vb
Major implementations
Microsoft Visual Studio, Microsoft Visual Studio Express, SharpDevelop, MonoDevelop, .NET Framework SDK and Mono
Microsoft Visual Basic
Small Basic

Visual Basic .NET

(VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic language. Although the ".NET" portion was dropped in 2005, this article uses "Visual Basic [.NET]" to refer to all Visual Basic languages releases since 2002, in order to distinguish between them and the classic Visual Basic. Along with Visual C#, it is one of the two main languages targeting the .NET framework.

Microsoft's integrated development environment (IDE) for developing in Visual Basic .NET language is Visual Studio. Most of Visual Studio editions are commercial; the only exceptions are Visual Studio Express and Visual Studio Community, which are freeware. In addition, .NET Framework SDK includes a freeware command-line compiler called vbc.exe. Mono also includes a command-line VB.NET compiler.

 VB.NET uses statements to specify actions. The most common statement is an expression statement, consisting of an expression to be evaluated, on a single line. As part of that evaluation, functions or subroutines may be called and variables may be assigned new values. To modify the normal sequential execution of statements, VB.NET provides several control-flow statements identified by reserved keywords. Structured programming is supported by several constructs including two conditional execution constructs (If … Then … Else … End If and Select Case ... Case ... End Select ) and three iterative execution (loop) constructs (Do … Loop, For … To, and For Each) . The For … To statement has separate initialization and testing sections, both of which must be present. (See examples below.) The For Each statement steps through each value in a list.

In addition, in Visual Basic .NET:

    There is no unified way of defining blocks of statements. Instead, certain keywords, such as "If … Then" or "Sub" are interpreted as starters of sub-blocks of code and have matching termination keywords such as "End If" or "End Sub".
    Statements are terminated either with a colon (":") or with the end of line. Multiple line statements in Visual Basic .NET are enabled with " _" at the end of each such line. The need for the underscore continuation character was largely removed in version 10 and later versions.[2]
    The equals sign ("=") is used in both assigning values to variable and in comparison.
    Round brackets (parentheses) are used with arrays, both to declare them and to get a value at a given index in one of them. Visual Basic .NET uses round brackets to define the parameters of subroutines or functions.
    A single quotation mark ('), placed at the beginning of a line or after any number of space or tab characters at the beginning of a line, or after other code on a line, indicates that the (remainder of the) line is a comment.