按照惯例,老周是先吹牛后讲正事。今天就给大伙吹吹这个事。

有网友不知道是不是昨晚喝高了,居然研究起老周来了。实话告诉你,老周没什么好研究的,老周又不是编译器,老周只是一个游离于大善大恶之间的平凡人,说来也只不过是:

无故寻愁觅恨,有时似傻如狂。纵然生得好皮囊,腹内原来草莽。潦倒不通世务,愚顽怕读文章。行为偏僻性乖张,那管世人诽谤!

老周上不行圣人之道,下不通小人之事,渺渺乎,悠悠于人世间的一颗微尘罢了。所以,不要研究老周了。

网友感兴趣,老周你是怎么学到编程了的,而且还完全自学的。

唉,要说起这个,实话告诉你,当初老周拼命写代码是无目的、无功名、无条件,就是好奇,然后是喜欢。孔爷爷说得真TMD好,“知之者不如好之者,好之者不如乐之者”,说来也是,你不喜欢的东西,最好别学了,最后是学不好的。因此,你要是选择要学习了,那就收收心吧,对于这个,老周没什么特别好的建议,还是那句话:收收心吧。

==========================================================

好,闲话扯完了,下面扯正经事。VS 2015有一个功能,让我相当喜欢,就是在“视图” - “其他窗口”菜单下面有个叫“C# 交互”的窗口,简直是大爱这个窗口。

为啥?以前嘛,如果要写一些小测试的代码,非得要新建一个项目,然后再写代码做测试。对于一些小小的内容还要建个项目,真是不好。不过,现在VS 2015有了这个交互功能,要测代码方便很多,你可以在这个窗口中:

1、直接输入C#代码;

2、有智能提示;

3、实时编译,计算表达式结果。

是不是觉得很玄乎?非也,至少没那些扯蛋的玄幻小说那个玄,但绝对是个好功能。

这个窗口需要VS 2015 update 1,注意,它和VS的N年前的命令行窗口不同,现在这个交互窗口用的是新的编译器。

屁话少说,来来来,老周教你玩玩,很爽的。

打开VS 2015,在右上角的快速启动输入框中输入“C# 交互”,然后会找到[视图]菜单下面的这个命令,直接点击即可。

然后你会看到这个窗口:

和命令提示窗口差不多,假如,我现在想知道int类型的最大值是多少,你直接输入:

int.MaxValue

然后按下回车,你会看到实时执行的结果。

再比如,Environment类有个静态属性ProcessorCount,可以得到计算机上CPU数量,包含核数和线程数。输入:

Environment.ProcessorCount

然后按下回车,看

双核四线程,返回4。

-----------------------------------------------------------------------

没玩够的话,咱们继续,在使用加密API的时候,尤其是双向加密时,通常想知道key和IV的位数。比如,AES算法,我想知道它的Key和IV分别是多少位。来,动手。

首先,引入命名空间,每输完一句就回车。

using System.Security.Cryptography;

new一个AesCryptoServiceProvider实例:

AesCryptoServiceProvider prd = new AesCryptoServiceProvider();

输入以下表达式,就可以得到key的位数了。

prd.KeySize

最后,看整体效果。

如何,刺激不。

------------------------------------------------------------------------------------------------------

再举个例子,假如我要用System.Xml.Linq下面的XDocument类来创建一个XML文档,而这个窗口默认只引用System、mscorelib和system.core,并没有引用System.Xml.Linq程序集,那怎么做呢?

不用怕,这个窗口还支持动态引用程序集,输入:

#r "System.Xml.Linq"

以#r开头,然后空格,接着是字符表达式,内容为程序集的名字。而且,你在输入时还有智能提示。

随后,你就可以using了。

using System.Xml.Linq;

下面来建一个XML文档。

XDocument doc = new XDocument(new XElement("root", new XElement("book", "《南游记》")));

回车后,代码会执行。

然后看看新建的XML文档中有啥。直接输入变量名doc,然后回车,会自动调用其ToString方法。

doc

最后,结果如下。

如果要清除窗口的内容,请直接输入:

#cls

然后回车。

这个交互窗口够强大吧。

好,今天的表演结束,谢谢观看。

VS 2015相当不错的功能:C#交互窗口的更多相关文章

  1. APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)

    APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下:   一.业务方面: 1.  注册( ...

  2. 多功能前台交互效果插件superSlide

    平时我们常用的"焦点图/幻灯片""Tab标签切换""图片滚动""无缝滚动"等效果要加载n个插件,又害怕代码冲突又怕不兼容 ...

  3. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 百度API的经历,怎样为多个点添加带检索功能的信息窗口

    不管我们要做什么样的效果,APIKey(密钥)都是不可缺少的要件,所以我们需要先去百度申请我们的APIKey!!! 伸手党,请直接到页面底部获取完整代码! 最近做一个门店查询的内容展示,考虑到用户直观 ...

  5. 发现 OpenStack: 架构、功能和交互

    原文:http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-overview/index.html OpenStack 是由 ...

  6. web测试点总结---UI、兼容、功能、交互、安全、性能、接口测试

    一.概述 1.什么是web? web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本(hypertext).超媒体(hypermed ...

  7. Visual Studio 2015 Bowser Link的功能不停的向服务端发送请求

    Visual Studio 2015新建的mvc项目 默认在每个视图上生成一些JavaScript脚本

  8. 第1节 IMPALA:8、shell交互窗口使用;9、外部和内部shell参数

    impala当中的元数据的同步的问题impala当中创建的数据库表,直接就可以看得到,不用刷新hive当中创建的数据库表,需要刷新元数据才能够看得到 因为impala的catalog的服务,我们需要通 ...

  9. SSRS中加入书签功能及数据集窗口

    SSRS在使用过程中,是比较好用的,但如果报表过长,则会比较难看到想看的内容,在SSRS中有书签功能,可以将报表直接直接跳转至书签位置,这样用户可以比较精准的定位到关注位置.使用一个文本框或是图片,再 ...

随机推荐

  1. JavaScript function函数种类

    本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...

  2. 重撸JS_1

    1.声明 用 var 或 let 声明的未赋初值的变量,值会被设定为undefined(译注:即未定义值,本身也是一个值) 试图访问一个未初始化的变量会导致一个 ReferenceError 异常被抛 ...

  3. angular2系列教程(九)Jsonp、URLSearchParams、中断选择数据流

    大家好,今天我们要讲的是http模块的第二部分,主要学习ng2中Jsonp.URLSearchParams.observable中断选择数据流的用法. 例子

  4. mybatis_常用标签

    1.<where></where>标签的作用 可以动态的添加where关键字 可以自动去掉第一个拼接条件的and关键字 <where> <if test=&q ...

  5. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  6. 来吧,HTML5之一些注意事项

    1.说什么是HTML HTML是一种超文本标记语言(Hyper Text Markup Language), 标记语言是一套标记标签(markup tag),用来描述网页的非编程语言. 2.标签特性: ...

  7. bzoj1079--记忆化搜索

    题目大意:有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n.相邻两个木块涂相同色显得 ...

  8. Java中常用集合操作

    一.Map 名值对存储的. 常用派生类HashMap类 添加: put(key,value)往集合里添加数据 删除: clear()删除所有 remove(key)清除单个,根据k来找 获取: siz ...

  9. MongoDB学习笔记三—增删改文档上

    插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...

  10. linux下 lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...