Visual Basic Language Keywords

The following tables list all the Visual Basic language keywords.

Reserved Keywords

The following keywords are reserved, which means you cannot use them as names for your programming elements such as variables or procedures. You can bypass this restriction by enclosing the name in brackets ([ ]). For more information, see "Escaped Names" in Declared Element Names.

Note

Using escaped names is not recommended, because it can make your code hard to read, and can lead to subtle errors that can be difficult to find.

AddHandler

AddressOf

Alias

And

AndAlso

As

Boolean

ByRef

Byte

ByVal

Call

Case

Catch

CBool

CByte

CChar

CDate

CDec

CDbl

Char

CInt

Class

CLng

CObj

Const

Continue

CSByte

CShort

CSng

CStr

CType

CUInt

CULng

CUShort

Date

Decimal

Declare

Default

Delegate

Dim

DirectCast

Do

Double

Each

Else

ElseIf

End

EndIf

Enum

Erase

Error

Event

Exit

False

Finally

For

Friend

Function

Get

GetType

GetXMLNamespace

Global

GoSub

GoTo

Handles

If

If()

Implements

Imports (.NET Namespace and Type)

Imports (XML Namespace)

In

Inherits

Integer

Interface

Is

IsNot

Let

Lib

Like

Long

Loop

Me

Mod

Module

MustInherit

MustOverride

MyBase

MyClass

Namespace

Narrowing

New

Next

Not

Nothing

NotInheritable

NotOverridable

Object

Of

On

Operator

Option

Optional

Or

OrElse

Overloads

Overridable

Overrides

ParamArray

Partial

Private

Property

Protected

Public

RaiseEvent

ReadOnly

ReDim

REM

RemoveHandler

Resume

Return

SByte

Select

Set

Shadows

Shared

Short

Single

Static

Step

Stop

String

Structure

Sub

SyncLock

Then

Throw

To

True

Try

TryCast

TypeOf

Variant

Wend

UInteger

ULong

UShort

Using

When

While

Widening

With

WithEvents

WriteOnly

Xor

#Const

#Else

#ElseIf

#End

#If

=

&

&=

*

*=

/

/=

\

\=

^

^=

+

+=

-

-=

>> Operator (Visual Basic)

>>= Operator (Visual Basic)

<<

<<=

 

 

Note

EndIf, GoSub, Variant, and Wend are retained as reserved keywords, although they are no longer used in Visual Basic. The meaning of the Let keyword has changed. Let is now used in LINQ queries. For more information, see Let Clause (Visual Basic).

Unreserved Keywords

The following keywords are not reserved, which means you can use them as names for your programming elements. However, doing this is not recommended, because it can make your code hard to read and can lead to subtle errors that can be difficult to find.

Aggregate

Ansi

Assembly

Auto

Binary

Compare

Custom

Distinct

Equals

Explicit

From

Group By

Group Join

Into

IsFalse

IsTrue

Join

Key (Visual Basic)

Mid

Off

Order By

Preserve

Skip

Skip While

Strict

Take

Take While

Text

Unicode

Until

Where

#ExternalSource

#Region

 

 

 

See Also

Reference

Visual Basic Run-Time Library Members

Keywords and Members by Task

Keywords Compared in Different Languages