我想创建一个函数,该函数可以使用我选择的颜色在调用时更改控制台的颜色。我不想每次都写3条指令,所以这就是为什么我希望它包含在一个函数中。
到目前为止,我已经做了类似的事情:
public static void WindowColor(string Background, string Foreground)
{
Console.BackgroundColor = ConsoleColor.Background;
Console.ForegroundColor = ConsoleColor.Foreground;
Console.Clear();
}
static void Main(string[] args)
{
WindowColor("DarkCyan","White");
}
我想用
ConsoleColor.Background
和ConsoleColor.Foreground
代替ConsoleColor.DarkCyan
和ConsoleColor.White
,就像我在WindowColor("DarkCyan","White");
中调用的那样。但是我得到这个错误:
“ ConsoleColor”不包含“背景”的定义。
现在我得到的事实是,
Background
中的ConsoleColor.Background
不会被视为变量,而是指令的一部分,但问题是:如何使Background
或Foreground
被视为完成变量形式的指令? 最佳答案
通常,您将使用正确类型的参数而不是字符串:
public static void WindowColor(ConsoleColor background, ConsoleColor foreground)
{
Console.BackgroundColor = background;
Console.ForegroundColor = foreground;
Console.Clear();
}
static void Main(string[] args)
{
WindowColor(ConsoleColor.DarkCyan, ConsoleColor.White);
}
如果坚持使用字符串作为参数,则必须解析它们:
public static void WindowColor(string Background, string Foreground)
{
Console.BackgroundColor = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), Background, true);
Console.ForegroundColor = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), Foreground, true);
Console.Clear();
}
static void Main(string[] args)
{
WindowColor("DarkCyan","White");
}
关于c# - 如何使用变量完成指令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40936400/