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 小提琴