如果我有枚举:如何获得枚举订单?
public enum ImportState : byte
{
None = 0,
ImportedWithChanges = 44,
AwaitingApproval = 45,
Removing = 66,
Revalidating = 99,
};
如何获得枚举订单? 例如:
GetOrder(ImportState.None)
应该返回1(第一顺序)
GetOrder(ImportState.AwaitingApproval)
应返回3(第三按顺序)
你不应该把枚举想象成有序的,因为它可能会导致代码行不正确。你试图实现什么? – Sayse
进一步证明Sayse的观点,下面的答案只有在枚举值按数字升序定义时才有效。否则,例如,如果您定义了“无= 100”,则无法正确获取常量的顺序。 – sstan
我的枚举是所有导入状态的一些工作流。我想根据这个枚举创建进度条。所以如果我在枚举中有10个值,并且前3个已完成,那么在我的进度条中,这个值就是30%。我的枚举不能有正常的顺序1,2,3 ..,因为将来可能会包含新的枚举值。 – Raskolnikov