阅文时长

| 0.83分钟

字数统计

| 1334.4字符

主要内容

| 1、引言&背景 2、测试方法及解决方案 3、声明与参考资料

『.NetCore·控制台输出自定义颜色的Helper』

编写人

| SCscHero

编写时间

| 2021/7/24 PM7:34

文章类型

| 系列

完成度

| 已完成

座右铭

每一个伟大的事业,都有一个微不足道的开始。

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

a) 应对问题

在.Net/C#程序中,如何输出类似于如图的带不同颜色的输出?

.NetCore·控制台输出自定义颜色的Helper_字符串

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%

原创博文,未经许可请勿转载。

如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!