我目前有一个枚举定义如下:
public enum ColorEnum { Red, White, Blue, Green };
这些枚举值中的每一个都有一个基础 int 值,我需要能够将其返回给用户。为此,我编写了一个接收枚举并返回int的函数:
public int colorToValue(ColorEnum color)
{
switch (color)
{
case Red:
return 5;
case White:
return 10;
case Blue:
return 15;
case Green:
return 20;
}
return 0;
}
这很好用,但我想知道是否可以通过使用枚举本身来存储基础值来简化事情。例如,我可以将枚举定义如下:
public enum ColorEnum { Red = 5, White = 10, Blue = 15, Green = 20 };
然后将枚举转换为其基础值就像将其转换为 int 一样简单。上述函数简化为:
public int colorToValue(ColorEnum color)
{
return (int)color;
}
当然,每个枚举条目的值必须是枚举定义所要求的int 。
谢谢!