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;