public struct MyStruct
{
public int Integer;
public Alignment Align; // 列舉
public string Text; // 參考型別
}
MyStruct m = new MyStruct();
Console.WriteLine(m.Integer); // 0
Console.WriteLine(m.Align); // Left (列舉第一個成員)
Console.WriteLine(m.Text == null); // True
值型別欄位獲對應預設值,參考型別為 null。
列舉本質是分類系統,讓我們從特定面向(如字型樣式、對齊方式、顏色)審視物件。良好的列舉設計應:
[Flags] 屬性並賦予 2 的冪次值。「程式語言是給下一位維護者看的溝通橋樑。」——若你不確定為何要
new Enum(),或允許非預定義值存在,請重新審視設計意圖。