В моей задаче нужно пройтись по списку констант в перечислениях и произвести определённые действия с их использованием. Думаю аналогом моей задачи может выступить вывод строки "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;