[C#] 007.將0值作為列舉的預設值

讀【157個完美化C#的建議】一書的理解筆記 - 007

重點: enum使用時如果要賦予數值由0開始

流程說明
1. 為什麼
2. 範例說明 (程式編譯器皆自動從0設定)
3. 結論

1. 為什麼

建議:將 0 設為列舉的預設值
理由: 1.軟體工程界中的一致性,大都默認為0為起始值 ※除非工作團隊名定義規則
理由: 2.程式編譯器皆自動從0設定

2. 範例說明 (程式編譯器皆自動從0設定)

我們有以下Enum的宣告 ,將星期一設為 1 以此遞增一周的資料

/// <summary>
/// 一周的Enum 但由 1 開始 ※反語法,請別從1開始設
/// </summary>
private enum MyWeek
{
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3,
    Thursday = 4,
    Friday = 5,
    Saturday = 6,
    Sunday = 7
}

以下全域宣告

static MyWeek week;

可以編譯以下程式碼,得到的值為 0 

※這就是因為編譯器自動幫我們帶預設值0

int getValue = (int)week;

 

3. 結論

enum使用時如果要賦予數值由0開始,理由可以參考流程1.為什麼

※如果發現enum 有從非0開始設定,最好需要與團隊構通,確認資料定義的原由,認知上是有背景故事的。

github連結(Vs2015) : 點我下載