none
怎样获取枚举(enum) 的变量个数 RRS feed

  • 问题

  • 有一个枚举 enum  color { red, blue, green }

    int[] color_count = new  int[3]; // 这里固定为3, 不灵活

    但以后color 可能会增加更多的量, 如 black ,yellow.....  

    那么怎样获取 color_count 呢?谢谢
    三界不住,六尘不染
    2009年8月28日 4:22

答案

全部回复

  • System.Enum.GetNames(typeof (color)) 得到数组  数组长度就是个数
    恭喜自己5星用户达成
    2009年8月28日 4:29
    版主
  • // 个数
    int count = Enum.GetValues(typeof(color)).Length;
    
    // 遍历 Enum 获取 Name 可以使用 Enum.GetNames
    foreach (color c in Enum.GetValues(typeof(color)))
    {
        Console.WriteLine(c.ToString());
    }
    Console.ReadLine();


    知识改变命运,奋斗成就人生!
    2009年8月28日 4:33
    版主
  • // 个数
    
    int count = Enum.GetValues(typeof(color)).Length;
    
    
    
    // 遍历 Enum 获取 Name 可以使用 Enum.GetNames
    
    foreach (color c in Enum.GetValues(typeof(color)))
    
    {
    
        Console.WriteLine(c.ToString());
    
    }
    
    Console.ReadLine();
    
    


    知识改变命运,奋斗成就人生!

    恩  names 和values 都可以get
    恭喜自己5星用户达成
    2009年8月28日 4:36
    版主
  • 你好,Enum.GetNames(Type.GetType("color")).Length;
    jon.valett@gmail.com
    2009年8月29日 14:29
    版主