我有这个代码,要求用户插入他们喜欢的颜色。然后需要将该选项附加到consoleColor
的末尾,但我该如何做?
string colour;
Console.WriteLine("Please enter your favourite colour: ");
colour = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.???
Console.WriteLine("choose colour");
如何追加我的字符串colour
变量?
答案 0 :(得分: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
。
答案 1 :(得分: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();
你可能想要像上面那样进行一些错误处理,因为用户可以输入任何内容......最好创建一个循环,例如while
或do while
循环,让他们再次输入如果出现错误。