Задача: Нужно перебрать элементы перечисления (enum) в цикле.
Инструменты: C#
Решение: Для получения всех элеметов перечисления есть метод Enum.GetValues. Код получения всех значений перечисления будет выглядеть следующим образом:
Во всех следующих примерах будем использовать следующее перечисление:
public enum Colors
{
Red,
Yellow,
Green
}
Code language: PHP (php)
var values = Enum.GetValues(typeof(Colors));
Удобнее использовать типизированную версию. Воспользуемся методом Cast для приведения перечисления к типу Colors:
var values = Enum.GetValues(typeof(Colors)).Cast<Colors>();
Вынесим получение и приведение типов в отдельный метод. В результате получим универсальный метод для получения списка значений перечисления: