由于我的游戏有一些模式(应该在初始化时提供),所以我想为它创建一个枚举。后来我想得到这个枚举的值。下面是我的代码-

enum GameMode : short
{
    Stop = 0,
    StartSinglePlayer = 4,
    StartMultiPlayer = 10,
    Debug = 12
}
class Game
{
    static short GetValue(GameMode mode)
    {
        short index = -1;
        if (mode == GameMode.Stop)
            index = 0;
        else if (mode == GameMode.StartSinglePlayer)
            index = 4;
        else if (mode == GameMode.StartMultiPlayer)
            index = 10;
        else if (mode == GameMode.Debug)
            index = 12;
        return index;
    }
    static void Main(string[] args)
    {
        var value = GetValue(GameMode.StartMultiPlayer);
    }
}

如果存在,我很想知道有更好的方法来做同样的事情。

最佳答案

当然,还有更简单的方法。只需将您的枚举转换为其基础数字数据类型:

value = (short)mode;

关于c# - 在 C# 中使用枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22734706/

10-11 04:24