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.
Update: If you’re using .NET 5 or newer, use this solution.
Note: The cast to
(Suit[])is not strictly necessary, but it does make the code 0.5 ns faster.