«^»
5.4. Enumeration types

An enum declaration introduces a new type. It is declared in terms of an underlying type which if it is omitted defaults to int:

enum Days: int
{
    Sunday = 1,
    Monday, Tuesday, Wednesday, Thursday, Friday,
    Saturday
}

Each enum member has an associated value which is either given explicitly or it is one more than the associated value of the previous member.

Each enum declaration introduces a new type. An explicit conversion has to be done to convert between an enum type and an integer type:

Days tDays = (Days)3;
int tSomeInt = (int)tDays;