Home [C# 筆記] 列舉(enum)資料型別
Post
Cancel

[C# 筆記] 列舉(enum)資料型別

資料型別 - enum、struct、Nullable

  • 列舉(enum)與結構(struct)可以提高程式可讀性。
  • Nullable類別的宣告讓實值變數可以存放null值。

什麼是列舉(enum)資料型別?

  • enum是一種用來宣告列舉型別(Enumeration Type)的關鍵字。
  • 是一組列舉清單項目的具名常數所構成的特殊型別。
  • enum主要作用在於提高程式的可讀性與易維護性。

列舉(enum) 可以規範我們的開發。

注意事項

使用enum需要注意:

  • enum不能於方法(Method)內宣告。
  • 資料型別必須是:byte, sbyte, short, ushort, int, uint, longulong型別
  • 預設的資料型別為int
  • 若列舉項目沒有給定任何整數值,則預設第一個列舉值為0、第二個列舉值為1,以此類推。
  • floatdouble不可為enum的資料型別。

宣告語法

1
2
3
4
5
6
7
[存取修飾詞] enum [列舉名稱]:[資料型別]
{
    成員1,
    成員2,
    ...
    成員n,
}

範例

一共有四季,分別為「春、夏、秋、冬」,寫一程式,透過enum來宣告一個可以代表四季Seasons的列舉成員,當使用者選擇數字(1~4)時,便會顯示所對應的季節為何。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//宣告四季Seasons的列舉項目:春夏秋冬
enum Seasons : short
{
    Spring = 1,
    Summer = 2,
    Fall = 3,
    Winter = 4
}
static void Main(string[] args)
{
    while (true)
    {
        Console.WriteLine("請輸入數字1~4:");
        short number = short.Parse(Console.ReadLine()!); //接收用戶輸入

        //根據數值來顯示對應的四季訊息
        switch (number)
        {
            case (short)Seasons.Spring:
                Console.WriteLine("春天");
                break;
            case (short)Seasons.Summer:
                Console.WriteLine("夏天");
                break;
            case (short)Seasons.Fall:
                Console.WriteLine("秋天");
                break;
            case (short)Seasons.Winter:
                Console.WriteLine("冬天");
                break;
            default:
                Console.WriteLine("不正確的數值,請輸入數字1~4");
                break;
        }
    }
}

[C# 筆記] enum 列舉 by R
[C# 筆記] 枚舉(列舉) Enum by R
Book: Visual C# 2005 建構資訊系統實戰經典教本

This post is licensed under CC BY 4.0 by the author.

[C# 筆記] 資料型別種類(Data Types Class)

[C# 筆記] 結構(struct)資料型別