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