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
Enum | Namespace | Description |
---|---|---|
System.ConsoleColor | System | Colors for console output |
System.DayOfWeek | System | Days of the week (Sunday‑Saturday) |
System.IO.FileMode | System.IO | Specifies how a file is opened |
System.Net.HttpStatusCode | System.Net | Standard HTTP response codes |
System.Drawing.Drawing2D.SmoothingMode | System.Drawing.Drawing2D | Smoothing 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
- Use PascalCase for enum names and members.
- Assign explicit values when the underlying numeric value matters.
- Prefer
Integer
as the underlying type unless a smaller type is required. - Apply
<Flags>
only to enums meant for bitwise combinations.