Enum to kolekcja, w której literały zastępują wartości liczbowe, dzięki czemu kod jest czytelniejszy. Enum stosuje się tam, gdzie elementy są stałe i nie zmieniają się w trakcie działania programu. Elementy enum zastępują kolejne liczby zaczynając od 0.
Przykład zdefiniowania pór roku za pomocą enum.
enum Season
{
Spring,
Summer,
Autumn,
Winter
}
Season s = Season.Spring;
Przykład zdefiniowania dni tygodnia za pomocą enum
enum WeekDays
{
Monday, // 0
Tuesday, // 1
Wednesday, // 2
Thursday, // 3
Friday, // 4
Saturday = 10, // 10
Sunday // 11
}
Console.WriteLine(WeekDays.Monday); // Monday
Wartości liczbowe elementów można zmienić za pomocą zwykłego przypisania.
enum WeekDays
{
Monday, // 0
Tuesday, // 1
Wednesday, // 2
Thursday, // 3
Friday, // 4
Saturday = 10, // 10
Sunday // 11
}
Enum można zamienić na wartość liczbą za pomocą zwykłego castowania (int)
int day = (int) WeekDays.Friday;
Console.WriteLine(day); // 4
Zamiana liczby na enum
var wd = (WeekDays) 4;
Console.WriteLine(wd);//Friday