C# 把列舉列舉出來 (enum)

很多時候都會使用到列舉,筆者最常使用到的地方就是下拉式選單中的選項了。筆者在撰寫程式的幫助文件時想要把每個下拉式選單的選項都說明一遍,於是就有了這個問題:列舉(enum)可以被列舉(歷遍)嗎?

在 .NET 5 以後有一個 Enum.GetValues 方法,可以很輕鬆的實現,程式碼如下:
    
    public enum Data
    {
        A = 0,
        B,
        C,
        D,
    }
    
    public static void Main(string[] args)
    {
        string str = "";
        foreach (Data d in Enum.GetValues(typeof(Data)))
        {
            str += $"name: {d.ToString()} value: {(int)d} \n";
        }
        Console.WriteLine(str);
    }
    

非常簡單的就歷遍了整個列舉,如果要加上說明的話可以使用 Description 屬性(Attribute)就能夠很輕易的達成動態產生說明文件的功能了!

參考資料:
Enum.GetValues 方法

留言