在 c# 中写入控制台:是否可以使用多种颜色编写单个写行,或锁定控制台以执行多次写入

本文关键字:控制台 单个写 锁定 执行 颜色 是否 可以使 | 更新日期: 2023-09-27 18:32:04

我想将具有多种颜色的字符串放在控制台上,并让它像单个 WriteLine 一样执行,而不是多次写入可能会被中断或被其他线程同时写入损坏。

所以下面的帖子看起来方向正确,但我无法控制写入控制台的所有代码。我的代码仅限于我正在创作的 dll,所以我不能随便去任何地方放置可能干扰的锁。如果这是一个锁和对线程的理解的问题,那就没有问题了。在我的代码中没有锁定的情况下,这甚至可能吗?

如何在 C#.NET 中跨线程锁定控制台?

在 c# 中写入控制台:是否可以使用多种颜色编写单个写行,或锁定控制台以执行多次写入

使用 Console.SetOut 将现有输出流替换为您自己的 TextWriter . 在您的自定义文本编写器中,让它同步对某个对象上的控制台的访问,然后写回真正的标准输出,并为帮助程序方法提供一些方法,您还必须能够在同一对象上同步,这样每当该帮助程序方法运行时,它都可以锁定对控制台的访问应用程序的其余部分。