在c#中修改控制台文本的颜色

本文关键字:文本 颜色 控制台 修改 | 更新日期: 2023-09-27 18:11:57

我有一些文本打印在我的c#控制台(很多),我想知道什么将是最简单的方法来改变文本的颜色一次没有清除控制台和重新打印它的新颜色,有点有相同的效果作为系统(color ##)命令在c++…

在c#中修改控制台文本的颜色

您可以使用Console.BackgroundColorConsole.ForegroundColor属性更改控制台输出颜色。当你用新颜色写完后,使用Console.ResetColor()返回默认值。

在事实之后改变颜色是一个问题,因为c#没有直接的方法来读取给定位置的文本。但是,如果您确切知道那里有什么,您可以用不同的颜色重写它(首先使用Console.SetCursorPosition方法跳到位置,然后在原始文本上写入)。

如果你想要尽可能的高效,你将需要更高水平的p/Invoke魔法。这在这个类似问题的公认答案中得到了很好的描述。该解决方案利用了一次写入整个Console缓冲区的优势,这非常快。