# Keywords (Visual Basic)

The following tables list all Visual Basic language keywords.

## Reserved Keywords

The following keywords are reserved, which means that you cannot use them as names for 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

We do not recommend that you use escaped names, because it can make your code hard to read, and it can lead to subtle errors that can be difficult to find.

AndAlso As Boolean ByRef
Byte ByVal Call Case
Catch CBool CByte CChar
CDate CDbl CDec Char
CInt Class Constraint Class Statement 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 Statement
End <keyword> EndIf Enum Erase
Error Event Exit False
Finally For (in For…Next) For Each…Next Friend
Function Get GetType GetXMLNamespace
Global GoSub GoTo Handles
If If() Implements Implements Statement
Imports (.NET Namespace and Type) Imports (XML Namespace) In In (Generic Modifier)
Inherits Integer Interface Is
IsNot Let Lib Like
Long Loop Me Mod
Module Module Statement MustInherit MustOverride
MyBase MyClass NameOf Namespace
Narrowing New Constraint New Operator Next
Next (in Resume) Not Nothing NotInheritable
NotOverridable Object Of On
Operator Option Optional Or
OrElse Out (Generic Modifier) Overloads Overridable
Overrides ParamArray Partial Private
Property Protected Public RaiseEvent
Resume Return SByte Select
Single Static Step Stop
String Structure Constraint Structure Statement Sub
SyncLock Then Throw To
True Try TryCast TypeOf…Is
UInteger ULong UShort Using
Variant Wend When While
Widening With WithEvents WriteOnly
Xor #Const #Else #ElseIf
#End #If = &
&= * *= /
/= \ \= ^
^= + += -
-= >> Operator >>= Operator <<
<<=

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.

## 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.

Title Description
Arrays Summary Lists language elements that are used to create, define, and use arrays.
Collection Object Summary Lists language elements that are used for collections.
Control Flow Summary Lists statements that are used for looping and controlling procedure flow.
Conversion Summary Lists functions that are used to convert numbers, dates, times, and strings.
Data Types Summary Lists data types. Also lists functions that are used to convert between data types and verify data types.
Dates and Times Summary Lists language elements that are used for dates and times.
Declarations and Constants Summary Lists statements that are used to declare variables, constants, classes, modules, and other programming elements. Also lists language elements that are used to obtain object information, handle events, and implement inheritance.
Directories and Files Summary Lists functions that are used to control the file system and to process files.
Errors Summary Lists language elements that are used to catch and return run-time error values.
Financial Summary Lists functions that are used to perform financial calculations.
Input and Output Summary Lists functions that are used to read from and write to files, manage files, and print output.
Information and Interaction Summary Lists functions that are used to run other programs, obtain command-line arguments, manipulate COM objects, retrieve color information, and use control dialog boxes.
Math Summary Lists functions that are used to perform trigonometric and other mathematical calculations.
My Reference Lists the objects contained in My, a feature that provides access to frequently used methods, properties, and events of the computer on which the application is running, the current application, the application's resources, the application's settings, and so on.
Operators Summary Lists assignment and comparison expressions and other operators.
Registry Summary Lists functions that are used to read, save, and delete program settings.
String Manipulation Summary Lists functions that are used to manipulate strings.