【问题标题】:How can I select a console color using the array?如何使用数组选择控制台颜色?
【发布时间】:2020-08-06 14:15:14
【问题描述】:

如您所知,我对 C# 真的很陌生。我想让控制台/命令提示符的背景颜色随机变化,我认为最好的方法是使用 random.next() 选择一个随机数,因为 Console.BackgroundColor 实际上用数字标记所有颜色为以及字符串,

它说红色是 12,蓝色是 9,我试过这样做,但它们没有编译:

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

【问题讨论】:

  • 什么是编译错误?

标签: c#


【解决方案1】:

您需要将cast 号码转为ConsoleColor,因为那是the type that BackgroundColor needs to be set to - 这是一个示例:

int myIndex = 9; // ConsoleColor.Blue
Console.BackgroundColor = (ConsoleColor)myIndex;

【讨论】:

  • @sam 如果答案对您有用,请将其标记为已接受(答案左侧的绿色勾边复选标记)
【解决方案2】:

您必须使用 ConsoleColor。就像下面一样,

  Console.BackgroundColor = ConsoleColor.Blue;

你也可以添加条件

if(myIndex == 12)
     Console.BackgroundColor = ConsoleColor.Red;
else if (myIndex == 9)
     Console.BackgroundColor = ConsoleColor.Blue;

【讨论】:

    【解决方案3】:

    好的,您正在寻找一种设置随机背景颜色的方法,根据@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
    

    【讨论】:

      猜你喜欢
      • 2011-01-20
      • 2011-03-31
      • 2014-04-29
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 2013-07-01
      • 1970-01-01
      相关资源
      最近更新 更多