Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方法,该方法为我想要的任何颜色编写代码_C# - Fatal编程技术网

C# 方法,该方法为我想要的任何颜色编写代码

C# 方法,该方法为我想要的任何颜色编写代码,c#,C#,我得到的错误是: 无法将类型“System.ConsoleColor”隐式转换为“string” 我正在尝试创建一个这样调用的方法:TextColor(Green),基本上就是这样做的:Console.ForegroundColor=ConsoleColor.Green,显然我想对所有颜色都这样做,然后调用我想要的颜色(只需节省时间,这样我就不必每次都键入:Console.ForegroundColor=ConsoleColor.[specific color]。如果参数是字符串,则可以解析值:

我得到的错误是:

无法将类型“System.ConsoleColor”隐式转换为“string”


我正在尝试创建一个这样调用的方法:
TextColor(Green)
,基本上就是这样做的:
Console.ForegroundColor=ConsoleColor.Green
,显然我想对所有颜色都这样做,然后调用我想要的颜色(只需节省时间,这样我就不必每次都键入:
Console.ForegroundColor=ConsoleColor.[specific color]

如果参数是字符串,则可以解析值:

public static void TextColor(string green, string blue, string red)
{
    green = Console.ForegroundColor = ConsoleColor.Green;
    blue = Console.ForegroundColor = ConsoleColor.Blue;
    red = Console.ForegroundColor = ConsoleColor.Red;
}
例如:

public static void TextColor(string colorString)
{
  Console.ForegroundColor = (ConsoleColor) Enum.Parse(typeof(ConsoleColor), colorString);
}

现在还不清楚您希望调用是什么样子的-您已经显示了
TextColor(绿色)
当您有三个参数时,它只提供一个参数。您还不清楚
Green
是什么意思。字符串值是什么?也许您实际上只需要三个方法,
SetGreenText
SetRedText
SetBlueText
?如果您希望用户传递一个参数n仅定义一个参数。然后使用if/else或switch语句确定它们传递的参数值。如果您的参数是
string
,则可以解析该值:
Enum.parse(typeof(ConsoleColor)、colorString);
。为什么需要一个方法呢?如果每次调用该方法时都要传递颜色,然后只执行赋值,那么不管怎样,只需在main中执行赋值。这不是编译。你需要强制转换。这几乎与我想要的方式相同,但我想创建一组颜色字符串,并且每个字符串都包含特定的Console.ForegroundColor=ConsoleColor[color],然后用字符串TextColor(蓝色)或我想要的任何颜色来调用它。@JackPeeterson:那么我就避免使用字符串。只需使用静态using指令,使
绿色
表示
ConsoleColor.Green
TextColor("Green"); // Sets Console.ForegroundColor to ConsoleColor.Green
TextColor("Blue"); // Sets Console.ForegroundColor to ConsoleColor.Blue