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);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM