c#如何将字符串变量附加到consoleColor的末尾

时间:2013-10-09 15:13:19

标签: c# string variables append

我有这个代码,要求用户插入他们喜欢的颜色。然后需要将该选项附加到consoleColor的末尾,但我该如何做?

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

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

2 个答案:

答案 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();

你可能想要像上面那样进行一些错误处理,因为用户可以输入任何内容......最好创建一个循环,例如whiledo while循环,让他们再次输入如果出现错误。