Yas*_*nke 0 c# enums visual-studio
我正在尝试在c#中更改控制台应用程序的背景
Console.BackgroundColor = ConsoleColor.Blue;
Console.Clear();
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
这完全没问题,但是当我尝试在enum它的帮助和方法的帮助下返回它时.
无法将类型'System.ConsoleColor'隐式转换为'string'
这是守则
public static string SetColor(RanngDe R)
{
switch (R)
{
case RanngDe.Blue:
return Console.BackgroundColor = ConsoleColor.Blue;
}
}
public enum RanngDe
{
Blue,
White,
Red,
Green
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经知道我必须转换System.ConsoleColor为String,但我不知道如何实现它.
我正在使用Visual Studio 2013.
方法的签名意味着您需要返回一个字符串.但是System.ConsoleColor如果要将此值作为字符串,则返回值类型,可以使用以下ToString方法返回:
public static string SetColor(RanngDe R)
{
switch (R)
{
case RanngDe.Blue:
return (Console.BackgroundColor = ConsoleColor.Blue).ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
此示例的调用如下所示:
string c = SetColor(RanngDe.Blue);
Run Code Online (Sandbox Code Playgroud)
另一种解决方案当然是将返回类型更改为ConsoleColor:
public static ConsoleColor SetColor(RanngDe R)
{
switch (R)
{
case RanngDe.Blue:
return Console.BackgroundColor = ConsoleColor.Blue;
default: return ConsoleColor.Black;
}
}
Run Code Online (Sandbox Code Playgroud)
此示例的调用如下所示:
ConsoleColor c = SetColor(RanngDe.Blue);
Run Code Online (Sandbox Code Playgroud)
但是,如果您只想将颜色分配给控制台,那么简单地使用方法void:
public static void SetColor(RanngDe R)
{
switch (R)
{
case RanngDe.Blue:
Console.BackgroundColor = ConsoleColor.Blue;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
此示例的调用如下所示:
SetColor(RanngDe.Blue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
383 次 |
| 最近记录: |