我正在编写一个控制台应用程序,其中我要实现的一个目的是让用户选择他们想要代表它们的颜色,然后在整个程序中使用它。
我的想法是让一个菜单通过一个switch语句(如下所示),该部分很容易,但是我怎么能继续调用他们在程序中稍后在这个开关中选择的颜色?
private static void colorSelector()
{
var myKey = Console.ReadKey(true);
switch (myKey.Key)
{
case ConsoleKey.F1:
Console.ForegroundColor = ConsoleColor.Green;
break;
case ConsoleKey.F2:
Console.ForegroundColor = ConsoleColor.Cyan;
break;
case ConsoleKey.F3:
Console.ForegroundColor = ConsoleColor.Red;
break;
case ConsoleKey.F4:
Console.ForegroundColor = ConsoleColor.Magenta;
break;
case ConsoleKey.F5:
Console.ForegroundColor = ConsoleColor.Blue;
break;
case ConsoleKey.F6:
Console.ForegroundColor = ConsoleColor.Yellow;
break;
}
我希望我在这里做得很清楚,我会感激任何帮助!
感谢。
答案 0 :(得分:3)
不是直接将其分配给Console.ForegroundColor
,而是使用变量而稍后再使用它。
答案 1 :(得分:0)
你可以使用像这样的变量
ConsoleColore color;
然后像这样保存你的颜色
color = ConsoleColor.Red;
之后你可以在程序中使用它!
答案 2 :(得分:0)
您可以将其分配给类级变量,然后在整个类中检索它:
class Program
{
private static ConsoleColor _userColor;
static void Main(string[] args)
{
var myKey = Console.ReadKey(true);
switch (myKey.Key)
{
case ConsoleKey.F1:
_userColor = ConsoleColor.Green;
break;
case ConsoleKey.F2:
_userColor = ConsoleColor.Cyan;
break;
case ConsoleKey.F3:
_userColor = ConsoleColor.Red;
break;
case ConsoleKey.F4:
_userColor = ConsoleColor.Magenta;
break;
case ConsoleKey.F5:
_userColor = ConsoleColor.Blue;
break;
case ConsoleKey.F6:
_userColor = ConsoleColor.Yellow;
break;
}
DoSomething();
Console.ReadLine();
}
private static void DoSomething()
{
Console.ForegroundColor = _userColor;
Console.WriteLine("color choosen");
Console.ForegroundColor = ConsoleColor.Black;
Console.BackgroundColor = _userColor;
Console.WriteLine("flipped it");
}
}