How to enumerate an enum?
.net, c#, enumeration, enums, loops
Solution
Update: If you're using .NET 5 or newer, use this solution.
foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit)))
{
}
Note: The cast to `(Suit[])` is not strictly necessary, but it does make the code 0.5 ns faster.
Problem
How can you enumerate an `enum` in C#? E.g. the following code does not compile: ``` public enum Suit { Spades, Hearts, Clubs, Diamonds } public void EnumerateAllSuitsDemoMethod() { foreach (Suit suit in Suit) { DoSomething(suit); } } ``` And it gives the following compile-time error: 'Suit' is a 'type' but is used like a 'variable' It fails on the `Suit` keyword, the second one.