写一个小的命令行工具,它将很好地输出不同的颜色。这个是可能的吗?
发布于 2010-04-30 16:42:22
是。请参阅此article。下面是其中的一个示例:
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
发布于 2010-04-30 16:41:26
class Program
{
static void Main()
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
Console.WriteLine("Another line.");
Console.ResetColor();
}
}
摘自here。
发布于 2016-01-19 09:02:41
上面的注释都是可靠的响应,但是请注意,它们不是线程安全的。如果您正在使用多个线程写入控制台,则更改颜色将添加竞争条件,这可能会创建一些看起来奇怪的输出。不过,修复起来很简单:
public class ConsoleWriter
{
private static object _MessageLock= new object();
public void WriteMessage(string message)
{
lock (_MessageLock)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.WriteLine(message);
Console.ResetColor();
}
}
}
https://stackoverflow.com/questions/2743260
复制相似问题