如何使用C#等C ++枚举类型?
如何使用C#等C ++枚举类型?
考虑c ++中的以下定义:
enum myEnum { A, B, C}; myEnum en = A;
现在我希望将第2行写成如下行,如C#:
myEnum en = myEnum.A;
??
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;
好吧,C ++中有不同的规则。 你能得到的最近的是这种轻微的憎恶:
namespace myEnum { enum myEnum { A, B, C}; } myEnum::myEnum en = myEnum::A;
这究竟是什么问题? 您的C#示例将在您编写它时起作用(尽管它与.NET命名约定不匹配……)