Como iterar sobre todos os valores de uma enumeração (enum) em C#?
Olá a todos! Sou novo em C# e me deparei com a seguinte tarefa: tenho uma enumeração (enum) que contém várias constantes, por exemplo, dias da semana ou status de pedido. Preciso percorrer em loop todos os valores possíveis dessa enumeração e executar alguma ação com eles, como exibi-los no console ou adicioná-los a uma lista suspensa.
Tentei usar um loop `for` comum com índices, mas isso não funciona porque enum não é um array. Além disso, os valores na enumeração podem não ser sequenciais (por exemplo, com números explicitamente definidos). Aqui está um exemplo do meu código, que obviamente está errado:
```csharp
enum DaysOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
// Minha tentativa (não funciona)
for (int i = 0; i < 7; i++)
{
DaysOfWeek day = (DaysOfWeek)i;
Console.WriteLine(day);
}
```
O problema é que, se eu alterar a ordem ou adicionar novos valores, terei que mudar o número mágico