資料型別 - enum、struct、Nullable
- 列舉(
enum)與結構(struct)可以提高程式可讀性。 Nullable類別的宣告讓實值變數可以存放null值。
什麼是列舉(enum)資料型別?
enum是一種用來宣告列舉型別(Enumeration Type)的關鍵字。- 是一組列舉清單項目的具名常數所構成的特殊型別。
enum主要作用在於提高程式的可讀性與易維護性。
列舉(enum) 可以規範我們的開發。
注意事項
使用enum需要注意:
enum不能於方法(Method)內宣告。- 資料型別必須是:
byte,sbyte,short,ushort,int,uint,long或ulong型別 - 預設的資料型別為
int。 - 若列舉項目沒有給定任何整數值,則預設第一個列舉值為
0、第二個列舉值為1,以此類推。 float與double不可為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 建構資訊系統實戰經典教本