Enum 基础知识

来自 MSDN

枚举类型(也称为枚举或枚举)提供了一种有效的方法来定义可以分配给变量的一组命名的整数常量。 ****

本质上,枚举是一种只允许一组有限选项的类型,每个选项对应一个数字。默认情况下,这些数字按声明值的顺序递增,从零开始。例如,可以为一周中的几天声明一个枚举:

public enum Day
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

这个枚举可以像这样使用:

// Define variables with values corresponding to specific days
Day myFavoriteDay = Day.Friday;
Day myLeastFavoriteDay = Day.Monday;

// Get the int that corresponds to myFavoriteDay
// Friday is number 4
int myFavoriteDayIndex = (int)myFavoriteDay;

// Get the day that represents number 5
Day dayFive = (Day)5;

默认情况下,enum 中每个元素的基础类型是 int,但也可以使用 bytesbyteshortushortuintlongulong。如果使用 int 以外的类型,则必须在枚举名称后使用冒号指定类型:

public enum Day : byte 
{
    // same as before 
}

名称后面的数字现在是字节而不是整数。你可以按如下方式获取枚举的基础类型:

Enum.GetUnderlyingType(typeof(Days)));

输出:

System.Byte

演示: .NET 小提琴