像阵列一样处理枚举?

时间:2017-09-28 22:48:12

标签: c# enums

我只是想问一个关于Enums的问题。我有一个看起来像这样的枚举:

public enum CameraPosition
{
    ROOM_1,
    ROOM_2,
    ROOM_3
}

所以我想要做的是,例如,我目前正在使用由ROOM_2表示的值。现在我按下一个按钮,它应该将其切换为ROOM_1所代表的值,但不必硬编码从ROOM_2ROOM_1的情况。

因此,如果我的缓存值定义如下:

CameraPosition pos = CameraPosition.ROOM_2;

我想做这样的事情:

pos = CameraPosition.ROOM_2 - 1;

这意味着pos现在是ROOM_1

这可能与Enums有关,还是我必须推出自己的解决方案来实现它?也许是另一种方法._。

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。默认情况下,在C#中,枚举是整数(see documentation)。如果您愿意,可以显式设置值,或者允许它以0开头。另请参阅this question上的第一个答案。