.NetCore·控制台輸出自定義顏色的Helper


閱文時長 | 0.83分鍾 字數統計 | 1334.4字符
主要內容 | 1、引言&背景 2、測試方法及解決方案 3、聲明與參考資料
『.NetCore·控制台輸出自定義顏色的Helper』
編寫人 | SCscHero 編寫時間 | 2021/7/24 PM7:34
文章類型 | 系列 完成度 | 已完成
座右銘 每一個偉大的事業,都有一個微不足道的開始。

一、引言&背景   完成度:100%

a) 應對問題

在.Net/C#程序中,如何輸出類似於如圖的帶不同顏色的輸出?

b) 應對場景

在開發環境下控制台做相關提示,如連接數據庫、網關、配置中心失敗,可以返回一個顯眼的紅色Error。

c) 解決原理&方法

臨時更改Console類下的ForegroundColor成員的枚舉值。

二、測試方法及解決方案   完成度:100%

a) 測試方式

using System;

namespace _00057._Console_dotnet5_Console控制台輸出不同顏色Helper
{
    class Program
    {
        static void Main(string[] args)
        {

            ConsoleHelper.WriteErrorLine("Error");
            ConsoleHelper.WriteSuccessLine("Succeed");
            ConsoleHelper.WriteInfoLine("CustomColor",ConsoleColor.Cyan);
            ConsoleHelper.WriteWarningLine("Warning");

            "expandMethod".WriteInfoLine(ConsoleColor.Red);
            Console.ReadKey();

        }
    }
}

b) 實現代碼

using System;

namespace _00057._Console_dotnet5_Console控制台輸出不同顏色Helper
{
    public static class ConsoleHelper
    {
        static void WriteColorLine(string str, ConsoleColor color)
        {
            ConsoleColor currentForeColor = Console.ForegroundColor;
            Console.ForegroundColor = color;
            Console.WriteLine(str);
            Console.ForegroundColor = currentForeColor;
        }

        /// <summary>
        /// 打印錯誤信息
        /// </summary>
        /// <param name="str">待打印的字符串</param>
        /// <param name="color">想要打印的顏色</param>
        public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red)
        {
            WriteColorLine(str, color);
        }

        /// <summary>
        /// 打印警告信息
        /// </summary>
        /// <param name="str">待打印的字符串</param>
        /// <param name="color">想要打印的顏色</param>
        public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow)
        {
            WriteColorLine(str, color);
        }
        /// <summary>
        /// 打印正常信息
        /// </summary>
        /// <param name="str">待打印的字符串</param>
        /// <param name="color">想要打印的顏色</param>
        public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White)
        {
            WriteColorLine(str, color);
        }
        /// <summary>
        /// 打印成功的信息
        /// </summary>
        /// <param name="str">待打印的字符串</param>
        /// <param name="color">想要打印的顏色</param>
        public static void WriteSuccessLine(this string str, ConsoleColor color = ConsoleColor.Green)
        {
            WriteColorLine(str, color);
        }

    }
}

三、聲明與參考資料   完成度:100%

原創博文,未經許可請勿轉載。

如有幫助,歡迎點贊、收藏、關注。如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM