.NET平台开源项目速览(17)FluentConsole让你的控制台酷起来

从该系列的第一篇文章 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 开始,不知不觉已经到第17篇了。每一次我们都是介绍一个小巧甚至微不足道的.NET平台的开源软件,或者学习,或者使用,或者介绍,或者分析原理等等,其实这个过程也让我了解了很多东西。也希望这个分享系列继续给大家带来收获,根据大家的评论和反应,其实说明这些小的组件都还不错,可以提高开发效率。

今天继续给大家介绍一款简单到爆的开源组件,但是可以让你的控制台瞬间高大上。

1.控制台能有啥滑头?

借用新生命论坛的一张图片,其实X组件里面也能这样控制,只不过我今天看到的组件使用起来更流程和功能单一一点。忽略图中内容,看控制台颜色:

  看到别人的控制台花花绿绿,其实挺好玩的,是不是感觉逼格很高?

  如果可以非常灵活的自由控制颜色,那该多好?

  没错,So Easy。。。其实很简单。其实Console里面都提供了这些控制功能。只不过作为入门级的Console,貌似没多少人会想到去研究这里面的东西。

  来看看我们今天的主题:FluentConsole

2.FluentConsole基本介绍

  FluentConsole是一个托管在github的C#开源组件,地址:https://github.com/ashmind/FluentConsole

  FluentConsole,主要功能非常简单,意思是更流程的控制台。。其实真的Very Fluent。一起看看,时间很短,5分钟足以。他的基本功能有:

1.可以控制Console输入的背景,以及字体的颜色;

2.可以使用条件输出和控制;

3.标准的链式写法,非常灵活和流畅,体验很棒。

  看看下面的例子和效果。

3.使用介绍

FluentConsole使用非常简单,我们在这里提供2个小节,主要是基本的和扩展的

3.1 基本用法

可以使用FluentConsole.Instance或者FluentConsole来直接操作对应颜色和文字。

我们在使用过程中Line代表换行输出,效果等同于Console.WriteLine

Text代表直接输出,不换行,效果等同于Console.Write

可以使用BackGround设置背景,设置字体颜色直接是Text或者Line。看看下面的代码和注释

FluentConsole.White.Background.Black.Line("Black");
FluentConsole
	.Cyan.Line("Cyan")
	.DarkBlue.Line("DarkBlue")
	.DarkCyan.Line("DarkCyan")
	.DarkGray.Line("DarkGray")
	.DarkGreen.Line("DarkGreen")
	.DarkMagenta.Line("DarkMagenta")
	.DarkRed.Line("DarkRed")
	.DarkYellow.Line("DarkYellow")
	.Gray.Line("Gray")
	.Green.Line("Green")
	.Magenta.Line("Magenta")
	.Red.Line("Red")
	.White.Line("White")
	.Yellow.Line("Yellow");
Console.ReadKey();

效果如下:

public static void TestByStatic()
{
	//Text相当于 Console.Write
	//Line相当于 Console.WriteLine

	//将控制台的颜色对象直接用于设置输出的Text
	FluentConsole.Yellow.Text("输入黄色字体");

	FluentConsole.Yellow.Background
				 .Blue.Line("设置黄色背景,和蓝色文字");

	FluentConsole.Yellow.Text("黄色")
				 .Red.Line("红色");

	var console = FluentConsole.Instance;
	console.Red.Text("另外的用法");

	//条件用法
	FluentConsole.Yellow.Line("当前对象状态:")
				 .With(c => 10 > 8 ? c.Red : c.Blue)
				 .Text("成功");
}

4.资源

  官网:https://github.com/ashmind/FluentConsole

  源代码与Demo:

  怎么样?赶紧去尝试一下吗?

时间: 2024-10-16 19:30:26

.NET平台开源项目速览(17)FluentConsole让你的控制台酷起来的相关文章

.NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践

心情小札:近期换了工作,苦逼于22:00后下班,房间一篇狼藉~ 小翠鄙视到:"你就适合生活在垃圾堆中!!!" 晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper,花了10分钟简单了解了一下. 看评论也是挺有价值,同时也看到许多新手同学问道在实际项目中使用的情况. 下面就原作者的代码的基础上略作调整,阐述一下在实际项目场景中的使用: 第一步:了解类库方法:TinyMapper 主要有两个函数: TinyMapper.Bind&

.NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频.音频.信号处理以及统计应用相关的解决方案.该项目使用C#语言编写,项目主页:http://accord-framework.net/ 说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名

.NET平台开源项目速览(12)哈希算法集合类库HashLib

.NET的System.Security.Cryptography命名空间本身是提供加密服务,散列函数,对称与非对称加密算法等功能.实际上,大部分情况下已经满足了需求,而且.NET实现的都是目前国际上比较权威的,标准化的算法,所以还是安全可靠的.但也有一些场合,需要自己实现一些安全散列算法.不仅仅是学习,也可以进行测试以及相关研究.而今天要介绍的正式这样一个包括了目前几乎所有散列函数算法实现的.NET开源组件,大家可以实际使用,查看或者修改等.满足更多不同人,不同层次的需求.那就看看相关基础知识

.NET平台开源项目速览(4).NET文档生成工具ADB及使用

转载自  http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_ADB_CSharpDocument.html 阅读目录 1.ADB介绍 2.ADB生成.NET文档过程 3.资源与代码 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧.例如本文在: .NET平台开源项目速览(2)Co

.NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家介绍.NET平台下的文档型数据库RavenDB,虽然我以前也在小项目用过其他文档型数据库,但问题很多,小项目还可以,大项目就歇菜了.这个数据库我关注了很久,最近一直在看它的文档,所以把知道的先总结下来. .NET开源目录:[目录]本博客其他.NET开源项目文章目录 本文原文地址:http://www

.NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍

1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过,用过简单的例子,不过代码没有写成专门的文章.最近在查找资料的时候,又发现一款小巧的写PDF文件的C#组件:PDF File Writer.该开源组件是在codeproject,还没有托管到其他地方,所以花了点时间了解了一下,分享给大家. .NET开源目录:[目录]本博客其他.NET开源项目文章目录

.NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务的变化,也会碰到超级变态的JSON,如果还按照以前的思路,会把人搞抽风掉,一旦结构变化,又要重来.所以今天给大家介绍一个简单的方法,轻轻松松搞定超级变态的JSON,虽然需要生成实体类.它就是开源的:JSON C# Class Generator组件. .NET开源目录:[目录]本博客其他.NET开源

.NET平台开源项目速览(19)Power BI神器DAX Studio

PowerBI更新频繁,已经有点更不上的节奏,一直在关注和学习中,基本的一些操作大概是没问题,更重要的是注重Power Query,M函数,以及DAX的使用,这才是核心.   上个月研究了DAX的一些语法和公式,发现这玩意看起来简单,但其实功能非常强大,所以就想和写代码一样,弄个工具试一下. 当然直接在Power BI Desktop中也可以完成,但总归感觉怪怪的,直到我发现了DAX Studio. 本来想直接下载来用一下,结果发现不是很容易玩,所以从头到尾把文档看了一遍,顺便总结下来. 如果不

Tiny Mapper是一个.net平台开源的对象映射组件

NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper 阅读目录 1.Tiny Mapper基本介绍 2.Tiny Mapper 基本使用 3.Tiny Mapper 指定配置使用 4.Tiny Mapper复杂类型使用 5.资源 好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起看看呢. .NET开源目录:[目录]本博客其他.NE