2012-02-21 3 views
7

У меня есть enum вроде этого:Как получить значение переменной enum?

public enum ProductGroup 
{ 
    A = 1, 
    B = 2, 
    C = 4, 
    D = 8 
} 

Как я могу получить значение перечислений Группы продуктов? Например, когда мое значение перечисления является ProductGroup.C, я хочу получить его значение 4;

ответ

12

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

Итак:

ProductGroup productGroup = ProductGroup.C; 

Int32 productGroupIndex = (Int32)productGroup; 

В приведенном выше примере, productGroupIndex == 4.

+1

только для информации нет никакой необходимости экстра временного переменная здесь ........ вы можете сделать это непосредственно –

+0

«когда мое значение перечисления ...» - за Это я сделал, полагая, что это был экземпляр переименования ProductGroup, который понадобился бы для кастинга. –

4
ProductGroup pg = ProductGroup.C; 
Console.Write((int)pg); 
6

Просто бросить перечисление

int val = (int)ProductGroup.A; 
0

Вы можете конвертировать/бросить перечисление:

int productGroup = Convert.ToInt32(ProductGroup.C); 

или

int productGroup = (int)ProductGroup.C; 
Смежные вопросы