前一阵写一个代码,得取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);
    }
}

 

相关文章:

  • 2021-09-19
  • 2022-01-21
  • 2021-09-08
  • 2022-02-26
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2021-10-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-03
相关资源
相似解决方案