可能重复:
如何枚举枚举?
假设我有一个这样的枚举:
public enum Cars
{
Audi = 0,
BMW,
Opel,
Renault,
Fiat,
Citroen,
AlfaRomeo,
}
Run Code Online (Sandbox Code Playgroud)
我有机会在欧宝和雪铁龙之间进行迭代吗?我想将这些值作为方法的参数.
Han*_*ing 13
这将有效:
for(Cars car=Cars.Opel; car<=Cars.Citroen; car++)
{
Console.WriteLine(car);
}
Run Code Online (Sandbox Code Playgroud)
但您必须确保起始值小于结束值.
编辑
如果您没有硬编码开始和结束,但提供它们作为参数,您需要以正确的顺序使用它们.如果您只是切换"欧宝"和"雪铁龙",您将无法获得输出.
另外(如评论中所述)基础整数值不得包含间隙或重叠.幸运的是,如果你自己没有指定值(即使不需要'= 0'),这也是默认行为.请参阅MSDN:
如果未指定枚举器列表中元素的值,则值将自动递增1.