【问题标题】:c# how can I append a string variable on to the end of consoleColorc#如何将字符串变量附加到consoleColor的末尾
【发布时间】:2013-10-17 01:02:18
【问题描述】:
我有这段代码要求用户插入他们最喜欢的颜色。然后需要将该选项附加到 consoleColor 的末尾,但我该怎么做呢?
string colour;
Console.WriteLine("Please enter your favourite colour: ");
colour = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.???
Console.WriteLine("choose colour");
如何附加我的字符串colour 变量?
【问题讨论】:
标签:
c#
string
variables
append
【解决方案1】:
试试这个
使用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。
【解决方案2】:
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 循环,让他们再次输入以防万一错误。