※以下內容皆是新手撰寫,內容可能不完全正確
最後十天了!(給自己一點寫下去的動力QQ)不知道自己剩下這幾天能學到哪兒,到哪就算哪了吧 ˊˇˋ期待三十天結束後能夠寫出簡單的小程式這樣,不然練習都白費了~這些筆記主要還是寫給自己看的嘿
今天的主題是 列舉類型(enums/enum types/enumeration types) (不同的名字多的有點煩)。 列舉(enumeration (n.)) 在這裡指的是一個集合,內有一堆被命名的整數常數,而這種列舉類型用 enum關鍵字(enum keyword) 宣告。
宣告語法: enum <列舉名稱> { 列舉列表 };
列舉列表是用逗號隔開的一列識別符,每個識別符同時表示一個整數值(integer value),第一個位子的是0,每往後一個,數值就加一(0, 1, 2, 3, 4, 5, etc.),但這是列舉類型的預設值而已,分配給識別符的值可以更動,可以是任何合理的數值(下面會講)。因為列表裡用的是識別符,引用這些值的時候用識別符就可以了。
enum months {jan, feb, mar, apr, may };
下面是個小練習,目的是要把月份跟數字對上:
using System;
namespace CubeApplication
{
class Stuff
{
enum months {
jan,
feb,
mar,
apr,
may
}
static void Main(string[] args)
{
Console.WriteLine("January: {0}", (int)months.jan);
Console.WriteLine("March: {0}", (int)months.mar);
Console.WriteLine("May: {0}", (int)months.may);
}
}
}
光憑預設的數值輸出是這樣的,數字跟月份沒有對到:
January: 0
March: 2
May: 4
這個時候,試著更改一下程式碼,給jan = 1:
using system;
namespace CubeApplication
{
class Stuff
{
enum months {
jan = 1,
feb,
mar,
apr,
may
}
static void Main(string[] args)
{
Console.WriteLine("January: {0}", (int)months.jan);
Console.WriteLine("March: {0}", (int)months.mar);
Console.WriteLine("May: {0}", (int)months.may);
}
}
}
改完之後執行,輸出的便是正確的月份了。只有改jan,但後面兩個識別符的整數值也因而+1:
January: 1
March: 3
May: 5
列舉類型的方法(enum methods)讓這類型有更多種使用方法,格式是Enum.<某方法>。
這邊有列出一些:https://www.tutorialsteacher.com/csharp/csharp-enum
變成C#語言筆記+翻譯練習了,有一大半的時間花在查某些名詞對應的中文,雖然查單字已經(被迫)練到查成習慣了,但查著查著還是會覺得心好累ˊˋ好處是聽說其它程式語言裡頭這些用詞很類似,不用怕學另一個程式語言又重新查一遍了(?)大概吧,現在啥都沒辦法肯定的說「絕對是這樣」了XDDD
參考資料:
(a) Tutorialspoint; C# - Enums
https://www.tutorialspoint.com/csharp/csharp_enums.htm
(b) TutorialsTeacher; C# - enum
https://www.tutorialsteacher.com/csharp/csharp-enum