2012-02-21 59 views
7

que tienen un enum así:¿Cómo obtener el valor personalizado enum?

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

¿Cómo puedo obtener los valores de enumeración ProductGroup? Por ejemplo, cuando mi valor enum es ProductGroup.C, quiero obtener su valor 4;

Respuesta

12

Simplemente ejecútalo como int para obtener el valor del índice.

Así:

ProductGroup productGroup = ProductGroup.C; 

Int32 productGroupIndex = (Int32)productGroup; 

En el ejemplo anterior, productGroupIndex == 4.

+1

sólo por la información que no hay necesidad de temporal adicional variable aquí ........ puedes hacerlo directamente –

+0

"cuando mi valor enum es ..." - fro En este caso, asumí que era una instancia de la enumeración ProductGroup que necesitaría el casting. –

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

Sólo tire la enumeración

int val = (int)ProductGroup.A; 
0

Puede convertir/tire la enumeración:

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

o

int productGroup = (int)ProductGroup.C; 
Cuestiones relacionadas