C# - 你能用数值调用枚举吗?

时间:2017-01-15 21:39:17

标签: c#

如果我有这段代码

document.getElementById('form-id').addEventListener('submit', function (e) {
  e.preventDefault();

  document.body.style.backgroundColor = 'red';
  // some more JS
});

说明枚举名称+他们的号码,如何从变量中调用枚举,如果变量是//Spice Enums enum SpiceLevels {None = 0 , Mild = 1, Moderate = 2, Ferocious = 3}; ,我该如何调用它并显示凶猛?

3 个答案:

答案 0 :(得分:9)

只需将整数转换为枚举:

SpiceLevels level = (SpiceLevels) 3;

当然另一种方式也有效:

int number = (int) SpiceLevels.Ferocious;

另见MSDN

  

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

     

...

     

但是,从枚举类型转换为整数类型

需要显式强制转换

答案 1 :(得分:2)

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

答案 2 :(得分:0)

默认情况下枚举从Int32继承,因此为每个项目分配一个数字值,从零开始(除非您自己指定值,否则就像您所做的那样)。

因此,获取枚举只是将int值转换为枚举...

int myValue = 3;
SpiceLevels level = (SpiceLevels)myValue;
WriteLine(level); // writes "Ferocious"