你可以通过数字值来调用Enum吗?

这个问题在这里已经有了答案:

  • 在int C中枚举21枚答案

  • 只需将整数转换为枚举:

    SpiceLevels level = (SpiceLevels) 3;
    

    当然也可以采用其他方式:

    int number = (int) SpiceLevels.Ferocious;
    

    另请参阅MSDN:

    每个枚举类型都有一个基础类型,可以是除char之外的任何整型。 枚举元素的默认基础类型是int。

    ...

    但是,显式转换对于从枚举类型转换为整型类型是必需的


    enum SpiceLevels { None = 0, Mild = 1, Moderate = 2, Ferocious = 3 };
    static void Main(string[] args)
    {
        int x = 3;
        Console.WriteLine((SpiceLevels)x);
        Console.ReadKey();
    }
    

    枚举继承自Int32默认,所以每个项目分配一个数值,从零开始(除非你自己指定的值,你已经完成)。

    因此,获取枚举只是将int值转换为枚举的情况。

    int myValue = 3;
    SpiceLevels level = (SpiceLevels)myValue;
    WriteLine(level); // writes "Ferocious"
    
    链接地址: http://www.djcxy.com/p/22513.html

    上一篇: Can you call an Enum by the number value?

    下一篇: Is it possible to cast integer to enum?