FluentConsole是一个托管在github的C#开源组件
FluentConsole是一个托管在github的C#开源组件
从该系列的第一篇文章 .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。看看下面的代码和注释
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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(); |
效果如下:

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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:
怎么样?赶紧去尝试一下吗?
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
.NET数据挖掘与机器学习,作者博客:http://www.cnblogs.com/asxinyu
FluentConsole是一个托管在github的C#开源组件的更多相关文章
- 【工匠大道】将项目同时托管到Github和Git@OSC
原文地址 摘要: Github是最大的git代码托管平台,GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多.很多用户需要同时将代码托管到两个平台,这篇文章的主要 ...
- 4.代码同时托管到github和git.oschina.net
我的开源项目托管在Github,同时在Git@OSC也有备份,有两个地方,是不是很麻烦呢?非也非也,下面介绍一下我是怎么做的. 1.先在Github新建一个项目,点击Github主页右上角的加号 -& ...
- iOS开发拓展篇——如何把项目托管到GitHub
iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...
- 托管到GitHub
如何把项目托管到GitHub iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 ...
- vs2012快速将项目托管到github
vs2012快速将项目托管到github 在VS2012中使用GitHub 注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(T ...
- 将项目同时托管到Github和Git@OSC
http://my.oschina.net/GIIoOS/blog/404555?fromerr=KHvn8UKH 摘要 Github是最大的git代码托管平台,GIT@OSC是国内最大的git代码 ...
- Git的安装和使用(托管至GitHub的方法)
一.下载Git 1.下载 下载地址: https://git-scm.com/download/win 根据你的操作系统选择32位或者64位 2.安装过程一路next 3.检验安装是否成功 在桌面点击 ...
- Git系列①之仓库管理互联网托管平台github.com的使用
互联网项目托管平台github.com的使用 1.安装git客户端 # yum install -y git 配置git全局用户以及邮箱 [root@web01 ~]# git config --gl ...
- iOS开发-xCode代码托管到GitHub
xCode默认的是由源代码管理工作Git,Android Studio内置的也有,之前写过两篇关于Window托管Android代码到GitHub的文章,一直想写篇关于Mac上托管代码的到文章,今天终 ...
随机推荐
- Windows Latex 中日文字体设置例
中文字体例: \documentclass[CJK]{article} \usepackage{CJKutf8} \newcommand{\songti}{\CJKfamily{song}} % 宋体 ...
- 在头文件声明全局变量和创建extern
在头文件声明全局变量和创建extern 问题: 是否有简单的方法,在头文件里定义我的变量,同时也为它们创建extern定义? 回答: 是的.尽管这不是必需的,使用正确的宏和一个头文件还是很容易实现的. ...
- java的抽象类
现实世界中,人们表征世界时,会把现实世界中的很多类具有相同特征的事物归为一个抽象类.比如水果是许多植物果实的总称,我们可以定义一个苹果类.定义一个西瓜类,可以实例化一个苹果对象,可以实例化一个西瓜对象 ...
- jar包问题
解决方法: 1右键项目build path的lib的add jars添加进来
- winform文件迁移工具
服务器D盘上传的文件过多,空间剩下很少了,于是想把里面部分文件,大概几万个文件转移到E盘,做了这个小工具.先查询出要转移的文件清单,保存在一个记事本中,如下所示: 接着读取文件名,一个个移动到指定目录 ...
- YY前端笔试总结
1.一个元素float以后.为什么要清除浮动?清除浮动的方法有哪些? 浮动确实是经经常使用,也知道清除浮动的必要性.但要我道个所以然,还是得绞尽脑汁.我个人的理解是,当一个元素float以后,就脱离正 ...
- 从Android中Activity之间的通信说开来[转]
http://www.cnblogs.com/virusswb/archive/2011/08/02/2124824.html 引言 最近两个星期在研究android的应用开发,学习了android应 ...
- SGU326Perspective(网络流量的最大流量)(经典赛车模型)
职务地址:http://acm.sgu.ru/problem.php? contest=0&problem=326 额,这题读错题了...又WA了好长时间...坚持不看题解也挺浪费时间的..早 ...
- C#隐藏桌面图标和任务栏
最近因为项目需要需要实现桌面图标和任务状态栏的隐藏功能,实现的方式很多,比如修改注册表值,调用windows API函数等.经过一番的查阅,这个功能暂时实现了,或许不是很好的方法,但是我预期的效果达到 ...
- Codecademy学习打卡1
————————————————————————— 想学习编程,并且打算“闭门造车”式的开启我的自学生涯. 前段时间买了一门厚重的“Java从入门到精通”.或许是对代码,电脑编程环境的陌生,再加上纯小 ...