如何使用C#等C ++枚举类型?

时间:2010-09-16 20:42:41

标签: c# c++ enums

如何使用C#等C ++枚举类型?

考虑c ++中的以下定义:

enum myEnum { A, B, C};
myEnum en = A;

现在我想把第2行写成C#以下的行:

myEnum en = myEnum.A;

...

3 个答案:

答案 0 :(得分:8)

嗯,C ++中有不同的规则。你能得到的最近的是这种轻微的憎恶:

namespace myEnum {
    enum myEnum { A, B, C};
}

myEnum::myEnum en = myEnum::A;

答案 1 :(得分:7)

C ++ 0x引入了enum class,它完全符合您的要求:

enum class myEnum { A, B, C };
myEnum en = myEnum::A;

在C中,我可能会使用旧的前缀:

enum myEnum { myEnum_A, myEnum_B, myEnum_C };
myEnum en = myEnum_A;

答案 2 :(得分:0)

这究竟是什么问题?您的C#示例将在您编写它时起作用(尽管它与.NET命名约定不符......)