2012-02-21 103 views
7

我有一個enum這樣的:如何獲得枚舉自定義值?

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

我怎樣才能得到ProductGroup枚舉值?例如,當我的枚舉值是ProductGroup.C時,我想得到它的值4;

回答

12

只需將其投射爲int即可獲取索引值。

所以:

ProductGroup productGroup = ProductGroup.C; 

Int32 productGroupIndex = (Int32)productGroup; 

在上述例子中,productGroupIndex == 4

+1

只爲信息,不需要額外的臨時的變量在這裏........你可以直接做 – 2012-02-21 13:33:53

+0

「當我的枚舉值是...」 - 來回在這裏,我假定它是需要投射的ProductGroup枚舉的一個實例。 – 2012-02-21 16:02:47

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;