0

我有这段代码要求用户插入他们最喜欢的颜色。然后需要将该选择附加到末尾,consoleColor但我该怎么做呢?

string colour;
Console.WriteLine("Please enter your favourite colour: ");
colour = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.???
Console.WriteLine("choose colour");

如何附加我的字符​​串colour变量?

4

2 回答 2

2

尝试这个

使用Enum.Parse

Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colour);

使用TryParse

    ConsoleColor consoleColor;
    if (Enum.TryParse<ConsoleColor>(colour, out consoleColor))
    {
        Console.ForegroundColor = consoleColor;
    }
    else
    { 
        Console.WriteLine("You've entered invalid color!")
    }

由于ConsoleColor是一个枚举,您可以使用Enum.Parse.

Enum.TryParse当您不确定输入颜色是否有效时,您也可以使用。

于 2013-10-09T15:17:17.110 回答
1
Console.WriteLine("Please enter your favorite color: ");
string colorName = Console.ReadLine();
ConsoleColor color;

if (Enum.TryParse(colorName, out color))
{
    Console.ForegroundColor = color;
    Console.WriteLine("This is your favorite color!");
}
else
{
    Console.WriteLine("I'm sorry, that color is not recognized.");
}

Console.ReadKey();

您可能需要像上面这样的错误处理,因为用户可以输入任何内容......最好创建一个循环,例如 a whileordo while循环,让他们再次输入,以防出现错误。

于 2013-10-09T15:22:13.190 回答