如何获取枚举类型的自定义值?

10

我有一个像这样的enum

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

我该如何获取ProductGroup枚举值?例如,当我的枚举值为ProductGroup.C时,我想要获取它的值4;

4个回答

15

将其作为int进行转换以获取索引值。

因此:

ProductGroup productGroup = ProductGroup.C;

Int32 productGroupIndex = (Int32)productGroup;

在上面的例子中,productGroupIndex == 4

1
只是提供信息,这里不需要额外的临时变量......你可以直接进行。 - Pranay Rana
当我的枚举值是... - 从这个中,我做出了这样的假设:需要进行ProductGroup枚举类型转换。 - user1017882

8
只需要转换枚举即可。
int val = (int)ProductGroup.A; 

5
 ProductGroup pg = ProductGroup.C;
 Console.Write((int)pg);

1

你可以转换/强制类型转换枚举:

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

或者

int productGroup = (int)ProductGroup.C;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接