Как выбрать цвет консоли с помощью массива? - PullRequest
1 голос
/ 06 августа 2020

Итак, я новичок в C#, как вы можете сказать. Я хочу, чтобы цвет фона консоли / командной строки изменялся случайным образом, я решил, что лучший способ сделать это - выбрать случайное число с помощью random.next (), поскольку Console.BackgroundColor фактически маркирует все цвета числами как а также строки,

Он говорит, что красный - 12, синий - 9, я пробовал делать это, но они не компилируются:

Console.BackgroundColor = ConsoleColor(myIndex);
Console.BackgroundColor = myIndex;

Ответы [ 3 ]

3 голосов
/ 06 августа 2020

Вам нужно преобразовать число в ConsoleColor, так как это тип, для которого BackgroundColor необходимо установить значение - вот пример:

int myIndex = 9; // ConsoleColor.Blue
Console.BackgroundColor = (ConsoleColor)myIndex;
0 голосов
/ 06 августа 2020

Хорошо, вы ищете способ установить случайный цвет фона, согласно ответу @stuartd вот код:

    public static ConsoleColor RandomConsoleColor()
    {
        return (ConsoleColor)new Random().Next(0, 15);
    }

Затем вы можете запустить его следующим образом:

static void Main(string[] args)
{
    while (true)
    {
        Console.BackgroundColor = RandomConsoleColor(); // <<-- call
        Console.Clear();
        Console.WriteLine("Press Enter to set random Background Color(Ctrl+c to Exit)");
        Console.ReadLine();

    }
}

Вот ссылка целого числа на кодовые имена цветов:

Black = 0
DarkBlue = 1
DarkGreen = 2
DarkCyan = 3
DarkRed = 4
DarkMagenta = 5
DarkYellow = 6
Gray = 7
DarkGray = 8
Blue = 9
Green = 10
Cyan = 11
Red = 12
Magenta = 13
Yellow = 14
White = 15
0 голосов
/ 06 августа 2020

Вы должны использовать ConsoleColor. как показано ниже,

  Console.BackgroundColor = ConsoleColor.Blue;

Вы также можете добавить условие, например

if(myIndex == 12)
     Console.BackgroundColor = ConsoleColor.Red;
else if (myIndex == 9)
     Console.BackgroundColor = ConsoleColor.Blue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...