Iterating Enum Values
Enumerate all members with Enum.GetValues.
Listing Enum Members
Sometimes you need every value of an enum, for example to build a menu. Enum.GetValues provides them.
using System;
enum Day { Mon, Tue, Wed }
class Program {
static void Main() {
foreach (Day d in Enum.GetValues<Day>())
Console.WriteLine(d);
}
}Generic GetValues
The generic Enum.GetValues<T>() returns a strongly typed array you can loop over directly.
using System;
enum Color { Red, Green, Blue }
class Program {
static void Main() {
Color[] all = Enum.GetValues<Color>();
Console.WriteLine(all.Length);
}
}