You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中如何获取当前控制台的前景色与背景色?

获取控制台当前前景色与背景色并恢复的方法

嘿,其实获取当前控制台的前景色和背景色超简单!你只需要直接读取System.Console.ForegroundColor和System.Console.BackgroundColor这两个属性就可以了——它们会直接返回当前控制台正在使用的颜色值。

针对你写的ColorLine方法,只需要在修改颜色前先保存原始的前景色,输出完成后再把颜色改回去就行。我帮你把方法完善了一下:

public void ColorLine(string line, System.ConsoleColor foreground) 
{
    // 保存原始前景色
    var originalForeground = System.Console.ForegroundColor;
    try
    {
        // 修改前景色
        System.Console.ForegroundColor = foreground;
        // 输出文本
        System.Console.WriteLine(line);
    }
    finally
    {
        // 无论是否发生异常,都恢复原始颜色
        System.Console.ForegroundColor = originalForeground;
    }
}

这里加了try...finally块是为了保证哪怕输出过程中出现异常,控制台的颜色也能恢复到原来的状态,避免之后的控制台输出颜色一直不对哦。

如果之后你需要处理背景色的话,逻辑也是一样的:先保存System.Console.BackgroundColor,修改后再恢复就行。

内容的提问来源于stack exchange,提问作者ex-vi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:58:04