【发布时间】:2017-05-27 18:33:31
【问题描述】:
我有一个这样的枚举:
[Flags]
public enum UserProcessStage : uint
{
ShopSelection = 1,
FillBasket = 2,
SpecifyShipmentCredentials = 4,
SpecifyPaymentCredentials = 8,
OrderComplete = 16
}
假设我有一个值为 FillBakset (2) 的变量,我想要做的是能够将它递增到枚举中定义的下一个值 (SpecifyShipmentCredentials, 4)。
问题是增加它会导致它的值是 3,因为它是基于一个整数的,我尝试将它乘以 2,但得到了编译错误。
如何将枚举值递增到下一个?
谢谢
【问题讨论】:
-
将其设计为
[Flags]枚举是否有原因? “增量到下一个状态”对于常规枚举更有意义。