如何在 C# 中遍历枚举 (enum) 的所有值?
大家好!我是 C# 新手,遇到了这样一个问题:我有一个枚举 (enum),它包含几个常量,例如星期几或订单状态。我需要循环遍历这个枚举的所有可能值,并对它们执行一些操作,比如输出到控制台或添加到下拉列表。
我尝试使用普通的 `for` 循环配合索引,但这不起作用,因为枚举不是数组。此外,枚举中的值可能不是连续的(例如,显式指定的数字)。下面是我的代码示例,显然是不正确的:
```csharp
enum DaysOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
// 我的尝试(不起作用)
for (int i = 0; i < 7; i++)
{
DaysOfWeek day = (DaysOfWeek)i;
Console.WriteLine(day);
}
```
问题在于,如果我改变顺序或添加新值,就必须修改这个魔法数字。