MSDN • VB.NET Enumerations

What is an Enumeration?

An Enum (enumeration) is a distinct type that consists of a set of named constants called the enumerator list. Enums improve code readability and provide compile‑time checking.

Defining an Enum

Public Enum DaysOfWeek
    Sunday = 0
    Monday = 1
    Tuesday = 2
    Wednesday = 3
    Thursday = 4
    Friday = 5
    Saturday = 6
End Enum

Using an Enum

Dim today As DaysOfWeek = DaysOfWeek.Wednesday
If today = DaysOfWeek.Saturday OrElse today = DaysOfWeek.Sunday Then
    Console.WriteLine("Weekend!")
Else
    Console.WriteLine("Workday.")
End If

Common .NET Enums

EnumNamespaceDescription
System.ConsoleColorSystemColors for console output
System.DayOfWeekSystemDays of the week (Sunday‑Saturday)
System.IO.FileModeSystem.IOSpecifies how a file is opened
System.Net.HttpStatusCodeSystem.NetStandard HTTP response codes
System.Drawing.Drawing2D.SmoothingModeSystem.Drawing.Drawing2DSmoothing options for rendering

Flags Attribute

When an enum represents a combination of values, apply <Flags>:

<Flags>
Public Enum FileAccess
    Read = 1
    Write = 2
    Execute = 4
    ReadWrite = Read Or Write
End Enum

Dim rights As FileAccess = FileAccess.Read Or FileAccess.Write
If (rights And FileAccess.Write) = FileAccess.Write Then
    Console.WriteLine("Can write")
End If

Best Practices