如何使用C#等C ++枚举类型?
考虑c ++中的以下定义:
enum myEnum { A, B, C};
myEnum en = A;
现在我想把第2行写成C#以下的行:
myEnum en = myEnum.A;
...
答案 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命名约定不符......)