<分区>
Possible Duplicate:
How to enumerate an enum?
假设我有一个这样的枚举:
public enum Cars
{
Audi = 0,
BMW,
Opel,
Renault,
Fiat,
Citroen,
AlfaRomeo,
}
我有机会在欧宝和雪铁龙之间进行迭代吗?我想将这些值作为方法的参数。
标签 c# enumeration
<分区>
Possible Duplicate:
How to enumerate an enum?
假设我有一个这样的枚举:
public enum Cars
{
Audi = 0,
BMW,
Opel,
Renault,
Fiat,
Citroen,
AlfaRomeo,
}
我有机会在欧宝和雪铁龙之间进行迭代吗?我想将这些值作为方法的参数。
最佳答案
这会起作用:
for(Cars car=Cars.Opel; car<=Cars.Citroen; car++)
{
Console.WriteLine(car);
}
但你必须确保开始值小于结束值。
编辑
如果您不对开始和结束进行硬编码,而是将它们作为参数提供,则需要以正确的顺序使用它们。如果你只是切换“Opel”和“Citroen”,你将不会得到任何输出。
此外(如评论中所述)基础整数值不得包含间隙或重叠。幸运的是,如果您自己不指定值(甚至不需要“=0”),这将是默认行为。参见 MSDN :
When you do not specify values for the elements in the enumerator list, the values are automatically incremented by 1.
关于c# - 在 C# 中的枚举值之间迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10499325/