В моей задаче нужно пройтись по списку констант в перечислениях и произвести определённые действия с их использованием. Думаю аналогом моей задачи может выступить вывод строки "Color is ..." (.вместо ... подставить название цвета; цвет строки должен соответствовать названию) , но мой код для реализации такой задачи не работает:
foreach (ConsoleColor color in ConsoleColor)
{
Console.ForegroundColor = color;
Console.WriteLine("Color is {0}", color);
}
Console.ForegroundColor = ConsoleColor.Gray;
Для прохождения по всем элементам перечисления Вам нужно получить либо список названий констант, либо список их значений. Это делается с помощью методов GetValues и GetNames класса Enum, которые в качестве параметра должны принять экземпляр класса Type принадлежащий вашему перечислению. Пример реализации описанной вами задачи:
foreach (int color in Enum.GetValues(typeof(ConsoleColor)))
{
Console.ForegroundColor = (ConsoleColor)color;
Console.WriteLine("Color is {0}", (ConsoleColor)color);
}
Console.ForegroundColor = ConsoleColor.Gray;