Подтвердить что ты не робот

Получение целочисленного значения из перечисления

Я работаю над базовой игрой в битву, чтобы помочь моим навыкам С#. Прямо сейчас у меня проблемы с переименованием. У меня есть:

enum game : int
{
    a=1,
    b=2,
    c=3,
}

Я хотел бы, чтобы игрок передал вход "C", а некоторый код вернул целое число 3. Как я могу настроить его для того, чтобы взять строку var (string pick;) и преобразовать ее в правильный int, используя этот enum? Книга, которую я читаю на этом, немного запутанна.

4b9b3361

Ответ 1

Просто проанализируйте строку и добавьте в int.

var number = (int)((game) Enum.Parse(typeof(game), pick));

Ответ 2

// convert string to enum, invalid cast will throw an exception
game myenum =(game) Enum.Parse(typeof(game), mystring ); 

// convert an enum to an int
int val = (int) myenum;

// convert an enum to an int
int n = (int) game.a; 

Ответ 3

просто приведение типов?

int a = (int) game.a

Ответ 4

Если вы не уверены, что входящая строка будет содержать допустимое значение перечисления, вы можете использовать Enum.TryParse(), чтобы попытаться выполнить синтаксический анализ. Если это недействительно, это просто вернет false вместо того, чтобы выбрасывать исключение.

JP

Ответ 5

Ответ прекрасен, но синтаксис беспорядочен.

Многое аккуратное выглядит примерно так:

    public DataSet GetBasketAudit(enmAuditPeriod auditPeriod)
    {
        int auditParam =Convert.ToInt32(auditPeriod) ;