更有效的方式来改变颜色

时间:2016-01-21 22:20:24

标签: c#

我正在学习c#并制作一个程序,它会返回一些数字。 在此屏幕截图中,我有当前输出。
enter image description here
我希望所有的行都像第一行一样被格式化,我可以做到这一点,但对我而言,它似乎可以更紧凑地完成。到目前为止,我输出的代码如下:

Console.ForegroundColor = ConsoleColor.White;
Console.Out.Write ("coords = ");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine (Convert.ToString (coords.x) + ", " + Convert.ToString (coords.y));
Console.Out.WriteLine ("coord2 = " + Convert.ToString (coords2.x) + ", " + Convert.ToString (coords2.y));
Console.Out.WriteLine ("distance = " + Convert.ToString (Vector2.getDist (coords, coords2)));

我基本上想知道是否有办法在ForegroundColour中多次更改WriteLine

2 个答案:

答案 0 :(得分:2)

您可以为此创建一个简单的方法:

private static void PrintColored<T>(string caption, params T[] values)
{
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(caption + " = ");
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine(String.Join(", ", values));
}

用法:

PrintColored("a", "b", "c");
PrintColored("coords", 1, 2);

输出:

a = b, c
coords = 1, 2

答案 1 :(得分:0)

您还可以创建一个功能来转换输入,例如&#34; abc&amp; 6def&#34;进入&#34; abc&#34;在白色然后当它到达&amp; 6时它会将颜色改为金色然后继续显示&#34; def&#34;。

相关问题