前一陣寫一個代碼,得取enum中的數量做循環比較,寫的很坑爹,但是好用。最近又看了一個方法,真他媽機智。
方法一
用映射來取得enum中的值
public enum enums { a, b, c, } public static void GetEnumCount() { foreach (enums e in Enum.GetValues(typeof(enums))) { Debug.Log(e); } }
方法二
在結尾插入一個表示結束的枚舉,來取得大小,這樣就避免了映射的GC開銷,很精巧的方法。
public enum enums { a, b, c, End, } public static void GetEnumCount() { for (int i = 0; i < (int)enums.End; i++) { Debug.Log((enums)i); } }