Loading lessons...
C# Enums
An enum (enumeration) is a special class that represents a group of constants - named values that can't change.
Creating an enum
csharp
enum Level
{
### Low,
### Medium,
### High
}
Using an enum
csharp
### Level myVar = Level.Medium;
### Console.WriteLine(myVar);
This prints Medium.
Inside a switch
Enums are perfect for switch statements:
csharp
switch (myVar)
{
case Level.Low:
### Console.WriteLine("Low level");
break;
case Level.Medium:
### Console.WriteLine("Medium level");
break;
case Level.High:
### Console.WriteLine("High level");
break;
}
Enum values are numbers
By default, the first item has the value 0, the second 1, and so on. You can assign your own numbers:
csharp
enum Months
{
### January = 1,
### February = 2,
### March = 3,
### April = 4
}
### Console.WriteLine((int) Months.April); // 4
Cast to int to get the numeric value.
Why use enums?
- Make code readable -
Level.Mediumis clearer than1. - Prevent typos - only the defined names are allowed.
- Keep related constants together.
TL;DR
enumdefines a group of named constants.- Items are numbers by default (0, 1, 2...).
- Assign custom values with
=. - Cast with
(int)to get the numeric value.