C# 如何快速取到enum中的枚举数量
前一阵写一个代码,得取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); } }