Перебор елементов перечисления в цикле

Задача:  Нужно перебрать элементы перечисления (enum) в цикле.

Инструменты: C#

Решение:  Для получения всех элеметов перечисления есть метод Enum.GetValues. Код получения всех значений перечисления будет выглядеть следующим образом:

Во всех следующих примерах будем использовать следующее перечисление:

public enum Colors
{
    Red,
    Yellow,
    Green
}

var values = Enum.GetValues(typeof(Colors));

Удобнее использовать типизированную версию. Воспользуемся методом Cast для приведения перечисления к типу Colors:

var values = Enum.GetValues(typeof(Colors)).Cast<Colors>();

Вынесим получение и приведение типов в отдельный метод. В результате получим универсальный метод для получения списка значений перечисления:

Добавить комментарий