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#开源组件的更多相关文章

  1. 【工匠大道】将项目同时托管到Github和Git@OSC

    原文地址 摘要: Github是最大的git代码托管平台,​GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多.很多用户需要同时将代码托管到两个平台,这篇文章的主要 ...

  2. 4.代码同时托管到github和git.oschina.net

    我的开源项目托管在Github,同时在Git@OSC也有备份,有两个地方,是不是很麻烦呢?非也非也,下面介绍一下我是怎么做的. 1.先在Github新建一个项目,点击Github主页右上角的加号 -& ...

  3. iOS开发拓展篇——如何把项目托管到GitHub

    iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...

  4. 托管到GitHub

    如何把项目托管到GitHub iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 ...

  5. vs2012快速将项目托管到github

    vs2012快速将项目托管到github   在VS2012中使用GitHub 注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(T ...

  6. 将项目同时托管到Github和Git@OSC

    http://my.oschina.net/GIIoOS/blog/404555?fromerr=KHvn8UKH 摘要 Github是最大的git代码托管平台,​GIT@OSC是国内最大的git代码 ...

  7. Git的安装和使用(托管至GitHub的方法)

    一.下载Git 1.下载 下载地址: https://git-scm.com/download/win 根据你的操作系统选择32位或者64位 2.安装过程一路next 3.检验安装是否成功 在桌面点击 ...

  8. Git系列①之仓库管理互联网托管平台github.com的使用

    互联网项目托管平台github.com的使用 1.安装git客户端 # yum install -y git 配置git全局用户以及邮箱 [root@web01 ~]# git config --gl ...

  9. iOS开发-xCode代码托管到GitHub

    xCode默认的是由源代码管理工作Git,Android Studio内置的也有,之前写过两篇关于Window托管Android代码到GitHub的文章,一直想写篇关于Mac上托管代码的到文章,今天终 ...

随机推荐

  1. 关于js封装框架类库之选择器引擎(二)

    在上篇介绍了选择器的获取标签.id.类名的方法,现在我们在上篇基础上继续升级 1.问题描述:上篇get('选择器')已经实现,如果get方法里是一个选择器的父元素,父元素是DOM对象,那么如何获取元素 ...

  2. 在MySQL中创建实现自增的序列(Sequence)的教程

    这篇文章主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下 项目应用中,曾有以下一个场景: 接口中要求发送一个int ...

  3. 快速检查SQL两表数据是否一致

    1前话 项目内实现了一新功能:克隆数据库. 2目标 克隆并非用SQLSERVER克隆,故完毕后需要检查各表内一些数据与原表一致性.一些表中的某一些列容许不一致. 3实现 将两表的需要检查的几列取出,相 ...

  4. 不直接用NSLog

    公司中不直接使用NSLog,而是利用宏定义自己的打印函数,将该打印函数写在项目的.pch文件中.调试的时候往往用到好多打印,但发布的时候确不需要.(一下是在公司中的一些处理) 自定义NSLog 一,固 ...

  5. malloc/free和new/delete的区别汇总

    一.基本概念 malloc/free 1.函数原型及说明: void* malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针.如果分配失败,则返回 ...

  6. Linux字符界面和图形界面

    Ubuntu图形界面和字符界面的切换 Ubuntu和其他的Linux系统一样,有图形界面和字符界面,同时能够设置默认的启动界面. linux的显示界面分为命令行的字符界面和图形界面,我们可以设置lin ...

  7. Java学习之对象实例化

    一个对象实例化过程:Person p = new Person();1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况下). ...

  8. 二、Python-----用户交互

    1.用户交互 Python 3.0的写法 name = input("Please input your name:") Python 2.0的写法 name = raw_inpu ...

  9. [转]android Handler使用

    转 http://blog.csdn.net/new_abc/article/details/8184634 不过这个我看不懂 不知道为什么i的值可以接着增长... package com.examp ...

  10. 如何将windows版的vim界面语言(默认为中文)设置成英文

    用安装包安装windows版本的vim(下载地址:http://www.vim.org/download.php),vim会自动根据windows的语言设置vim的界面语言.如何将其改为英文呢? 在v ...