C#控制台应用如何让同一条消息的不同部分显示不同颜色?
C#控制台多色文本打印实现方案
完全可以实现,C# 原生 Console 类内置了控制台颜色修改能力,所有主流.NET版本(.NET Framework、.NET Core/.NET 5+)均支持该特性,无需引入第三方依赖。
实现逻辑
你可以通过修改控制台前景色属性来实现分段打印不同颜色的文本,核心步骤如下:
- 打印红色文本前调用
Console.ForegroundColor = ConsoleColor.Red;将输出前景色设置为红色 - 打印红色内容
error: - 调用
Console.ForegroundColor = ConsoleColor.White;切换前景色为白色 - 打印白色内容
command not found - 最后调用
Console.ResetColor();重置控制台颜色为系统默认值,避免后续输出沿用最后设置的颜色
完整示例代码
using System; namespace ColoredConsoleDemo { class Program { static void Main(string[] args) { // 打印红色前缀 Console.ForegroundColor = ConsoleColor.Red; Console.Write("error: "); // 打印白色内容 Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("command not found"); // 重置默认颜色 Console.ResetColor(); } } }
如果需要频繁处理多色文本,你可以自行封装工具方法,自动解析自定义的颜色标记完成颜色切换,不用每次手动修改颜色属性。
内容的提问来源于stack exchange,提问作者Tal
相关产品推荐
相关产品推荐

